📄 getresult.cpp
字号:
// getresult.cpp : implementation file
//
#include "stdafx.h"
#include "kchengji.h"
#include "getresult.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// getresult
IMPLEMENT_DYNCREATE(getresult, CCmdTarget)
getresult::getresult()
{
}
getresult::~getresult()
{
}
BEGIN_MESSAGE_MAP(getresult, CCmdTarget)
//{{AFX_MSG_MAP(getresult)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// getresult message handlers
void getresult::set(int mtarget, int mnum)
{
target=mtarget; length=mnum;
}
int getresult::begend(int beg, int end)//此函数求beging 到 end位的值 比如说24566 则geneng(2,3)位45
{
int t;
int k=pow(10,length-end);
t=target/k;
int l=pow(10,end-beg+1);
t=t%l;
return t;
}
void getresult::get()
{
max=0;
int recordnum=1;
int i=1;
for(int j=1;j<length;j++)
{
int temp=begend(1,j);
//-1标记第一次分裂所得记录
node *node1=new node (j,temp,-1) ;
midlist.AddTail(node1);
res[i].set(j,temp,-1);
i++;
while(!midlist.IsEmpty())
{
node *node2;
node2=midlist.RemoveHead();
if(node2->endpos==length)
{
if (node2->nowmul>max)
{
max=node2->nowmul;
endposrec=recordnum;
}
}
else
{
for(int j=node2->endpos+1;j<=length;j++)
{
temp=begend(node2->endpos+1,j);
int now=temp*(node2->nowmul);
node *node3;
node3=new node(j,now,recordnum);
res[i].set(j,now,recordnum);
i++;
midlist.AddTail(node3);
}
}
recordnum++;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -