2019.3.13
1.获取一个N位数num的每一个数字项,如:1234,每项是1,2,3,4
int a[N],k=pow(N);//pow为自定义函数,其功能为求10的N次方,之所以不用系统pow函数,是因为其返回值是double类型
int j=0;//计数用
for(j,k;k>=10;j++){
a[j]=(num%k)/(k/10);
k/=10;
}
遍历完成之后,a数组按照原数的高位到顺序保存各数数字;
不知道什么时候的更新-----
1.组合数,给定若干个数字,找到他们之间所有相互结合构成的数字,例如2,5,8,组合数共有25,28,52,58,82,85六个
小技巧:组合数可以通过两个for循环得到,内循环判断是否相同,若满足条件,则有a+b*10得到数字
2.统计数和的个数并输出
计算除一些数字之和,要得到他们之间有多少个不同的数字,并且输出这些,
小技巧:首先寻找这些数字之和的最大个数,例如,100以内的数字之和最大为18,将这个和作为下标就行验证,若存在一项为0,则这是一个新的和,置为1(若要统计个数,则可以置为++);输出时,只需判断是否为0,并输出下标即可
例如: if(num[sum]==0){
num[sum]=1;
count++;
}
for(int i=0;i<37;i++)
if(num[i])
cout<<i<<(--count?" ":'\0');