本帖最后由 jhq999 于 2021-12-12 15:57 编辑 int fen1jie4(int val,int num,int max,int* bits)//英语渣懒的找英语单词,直接用汉语拼音代替。
{
int ret=0,tmp=0,i=0,sum=0,bit=1<<num;
if (num==0)
{
//tmp=bits[num];
bits[num]=val;
for (i = 0; i <= max; i++)
{
printf("%d*%d+ ",bits[i],1<<i);
sum+=bits[i]*(1<<i);
}
printf("=%d\n",sum);
return 1;
}
sum=0;
for (i=0;i<=val/bit;i++)
{
bits[num]=i;
tmp=val-bit*i;
ret=fen1jie4(tmp,num-1,max,bits);
sum+=ret;
}
return sum;
}
int main()
{
int bits[8]={0};
int val=29,n=0,tmp=val;
while(tmp>>=1)n++;
int ret =fen1jie4(val,n,n,bits);
printf("%d",ret);
return 0;
}
29*1+ 0*2+ 0*4+ 0*8+ 0*16+ =29
27*1+ 1*2+ 0*4+ 0*8+ 0*16+ =29
25*1+ 2*2+ 0*4+ 0*8+ 0*16+ =29
23*1+ 3*2+ 0*4+ 0*8+ 0*16+ =29
21*1+ 4*2+ 0*4+ 0*8+ 0*16+ =29
19*1+ 5*2+ 0*4+ 0*8+ 0*16+ =29
17*1+ 6*2+ 0*4+ 0*8+ 0*16+ =29
15*1+ 7*2+ 0*4+ 0*8+ 0*16+ =29
13*1+ 8*2+ 0*4+ 0*8+ 0*16+ =29
11*1+ 9*2+ 0*4+ 0*8+ 0*16+ =29
9*1+ 10*2+ 0*4+ 0*8+ 0*16+ =29
7*1+ 11*2+ 0*4+ 0*8+ 0*16+ =29
5*1+ 12*2+ 0*4+ 0*8+ 0*16+ =29
3*1+ 13*2+ 0*4+ 0*8+ 0*16+ =29
1*1+ 14*2+ 0*4+ 0*8+ 0*16+ =29
25*1+ 0*2+ 1*4+ 0*8+ 0*16+ =29
23*1+ 1*2+ 1*4+ 0*8+ 0*16+ =29
21*1+ 2*2+ 1*4+ 0*8+ 0*16+ =29
19*1+ 3*2+ 1*4+ 0*8+ 0*16+ =29
17*1+ 4*2+ 1*4+ 0*8+ 0*16+ =29
15*1+ 5*2+ 1*4+ 0*8+ 0*16+ =29
13*1+ 6*2+ 1*4+ 0*8+ 0*16+ =29
11*1+ 7*2+ 1*4+ 0*8+ 0*16+ =29
9*1+ 8*2+ 1*4+ 0*8+ 0*16+ =29
7*1+ 9*2+ 1*4+ 0*8+ 0*16+ =29
5*1+ 10*2+ 1*4+ 0*8+ 0*16+ =29
3*1+ 11*2+ 1*4+ 0*8+ 0*16+ =29
1*1+ 12*2+ 1*4+ 0*8+ 0*16+ =29
21*1+ 0*2+ 2*4+ 0*8+ 0*16+ =29
19*1+ 1*2+ 2*4+ 0*8+ 0*16+ =29
17*1+ 2*2+ 2*4+ 0*8+ 0*16+ =29
15*1+ 3*2+ 2*4+ 0*8+ 0*16+ =29
13*1+ 4*2+ 2*4+ 0*8+ 0*16+ =29
11*1+ 5*2+ 2*4+ 0*8+ 0*16+ =29
9*1+ 6*2+ 2*4+ 0*8+ 0*16+ =29
7*1+ 7*2+ 2*4+ 0*8+ 0*16+ =29
5*1+ 8*2+ 2*4+ 0*8+ 0*16+ =29
3*1+ 9*2+ 2*4+ 0*8+ 0*16+ =29
1*1+ 10*2+ 2*4+ 0*8+ 0*16+ =29
17*1+ 0*2+ 3*4+ 0*8+ 0*16+ =29
15*1+ 1*2+ 3*4+ 0*8+ 0*16+ =29
13*1+ 2*2+ 3*4+ 0*8+ 0*16+ =29
11*1+ 3*2+ 3*4+ 0*8+ 0*16+ =29
9*1+ 4*2+ 3*4+ 0*8+ 0*16+ =29
7*1+ 5*2+ 3*4+ 0*8+ 0*16+ =29
5*1+ 6*2+ 3*4+ 0*8+ 0*16+ =29
3*1+ 7*2+ 3*4+ 0*8+ 0*16+ =29
1*1+ 8*2+ 3*4+ 0*8+ 0*16+ =29
13*1+ 0*2+ 4*4+ 0*8+ 0*16+ =29
11*1+ 1*2+ 4*4+ 0*8+ 0*16+ =29
9*1+ 2*2+ 4*4+ 0*8+ 0*16+ =29
7*1+ 3*2+ 4*4+ 0*8+ 0*16+ =29
5*1+ 4*2+ 4*4+ 0*8+ 0*16+ =29
3*1+ 5*2+ 4*4+ 0*8+ 0*16+ =29
1*1+ 6*2+ 4*4+ 0*8+ 0*16+ =29
9*1+ 0*2+ 5*4+ 0*8+ 0*16+ =29
7*1+ 1*2+ 5*4+ 0*8+ 0*16+ =29
5*1+ 2*2+ 5*4+ 0*8+ 0*16+ =29
3*1+ 3*2+ 5*4+ 0*8+ 0*16+ =29
1*1+ 4*2+ 5*4+ 0*8+ 0*16+ =29
5*1+ 0*2+ 6*4+ 0*8+ 0*16+ =29
3*1+ 1*2+ 6*4+ 0*8+ 0*16+ =29
1*1+ 2*2+ 6*4+ 0*8+ 0*16+ =29
1*1+ 0*2+ 7*4+ 0*8+ 0*16+ =29
21*1+ 0*2+ 0*4+ 1*8+ 0*16+ =29
19*1+ 1*2+ 0*4+ 1*8+ 0*16+ =29
17*1+ 2*2+ 0*4+ 1*8+ 0*16+ =29
15*1+ 3*2+ 0*4+ 1*8+ 0*16+ =29
13*1+ 4*2+ 0*4+ 1*8+ 0*16+ =29
11*1+ 5*2+ 0*4+ 1*8+ 0*16+ =29
9*1+ 6*2+ 0*4+ 1*8+ 0*16+ =29
7*1+ 7*2+ 0*4+ 1*8+ 0*16+ =29
5*1+ 8*2+ 0*4+ 1*8+ 0*16+ =29
3*1+ 9*2+ 0*4+ 1*8+ 0*16+ =29
1*1+ 10*2+ 0*4+ 1*8+ 0*16+ =29
17*1+ 0*2+ 1*4+ 1*8+ 0*16+ =29
15*1+ 1*2+ 1*4+ 1*8+ 0*16+ =29
13*1+ 2*2+ 1*4+ 1*8+ 0*16+ =29
11*1+ 3*2+ 1*4+ 1*8+ 0*16+ =29
9*1+ 4*2+ 1*4+ 1*8+ 0*16+ =29
7*1+ 5*2+ 1*4+ 1*8+ 0*16+ =29
5*1+ 6*2+ 1*4+ 1*8+ 0*16+ =29
3*1+ 7*2+ 1*4+ 1*8+ 0*16+ =29
1*1+ 8*2+ 1*4+ 1*8+ 0*16+ =29
13*1+ 0*2+ 2*4+ 1*8+ 0*16+ =29
11*1+ 1*2+ 2*4+ 1*8+ 0*16+ =29
9*1+ 2*2+ 2*4+ 1*8+ 0*16+ =29
7*1+ 3*2+ 2*4+ 1*8+ 0*16+ =29
5*1+ 4*2+ 2*4+ 1*8+ 0*16+ =29
3*1+ 5*2+ 2*4+ 1*8+ 0*16+ =29
1*1+ 6*2+ 2*4+ 1*8+ 0*16+ =29
9*1+ 0*2+ 3*4+ 1*8+ 0*16+ =29
7*1+ 1*2+ 3*4+ 1*8+ 0*16+ =29
5*1+ 2*2+ 3*4+ 1*8+ 0*16+ =29
3*1+ 3*2+ 3*4+ 1*8+ 0*16+ =29
1*1+ 4*2+ 3*4+ 1*8+ 0*16+ =29
5*1+ 0*2+ 4*4+ 1*8+ 0*16+ =29
3*1+ 1*2+ 4*4+ 1*8+ 0*16+ =29
1*1+ 2*2+ 4*4+ 1*8+ 0*16+ =29
1*1+ 0*2+ 5*4+ 1*8+ 0*16+ =29
13*1+ 0*2+ 0*4+ 2*8+ 0*16+ =29
11*1+ 1*2+ 0*4+ 2*8+ 0*16+ =29
9*1+ 2*2+ 0*4+ 2*8+ 0*16+ =29
7*1+ 3*2+ 0*4+ 2*8+ 0*16+ =29
5*1+ 4*2+ 0*4+ 2*8+ 0*16+ =29
3*1+ 5*2+ 0*4+ 2*8+ 0*16+ =29
1*1+ 6*2+ 0*4+ 2*8+ 0*16+ =29
9*1+ 0*2+ 1*4+ 2*8+ 0*16+ =29
7*1+ 1*2+ 1*4+ 2*8+ 0*16+ =29
5*1+ 2*2+ 1*4+ 2*8+ 0*16+ =29
3*1+ 3*2+ 1*4+ 2*8+ 0*16+ =29
1*1+ 4*2+ 1*4+ 2*8+ 0*16+ =29
5*1+ 0*2+ 2*4+ 2*8+ 0*16+ =29
3*1+ 1*2+ 2*4+ 2*8+ 0*16+ =29
1*1+ 2*2+ 2*4+ 2*8+ 0*16+ =29
1*1+ 0*2+ 3*4+ 2*8+ 0*16+ =29
5*1+ 0*2+ 0*4+ 3*8+ 0*16+ =29
3*1+ 1*2+ 0*4+ 3*8+ 0*16+ =29
1*1+ 2*2+ 0*4+ 3*8+ 0*16+ =29
1*1+ 0*2+ 1*4+ 3*8+ 0*16+ =29
13*1+ 0*2+ 0*4+ 0*8+ 1*16+ =29
11*1+ 1*2+ 0*4+ 0*8+ 1*16+ =29
9*1+ 2*2+ 0*4+ 0*8+ 1*16+ =29
7*1+ 3*2+ 0*4+ 0*8+ 1*16+ =29
5*1+ 4*2+ 0*4+ 0*8+ 1*16+ =29
3*1+ 5*2+ 0*4+ 0*8+ 1*16+ =29
1*1+ 6*2+ 0*4+ 0*8+ 1*16+ =29
9*1+ 0*2+ 1*4+ 0*8+ 1*16+ =29
7*1+ 1*2+ 1*4+ 0*8+ 1*16+ =29
5*1+ 2*2+ 1*4+ 0*8+ 1*16+ =29
3*1+ 3*2+ 1*4+ 0*8+ 1*16+ =29
1*1+ 4*2+ 1*4+ 0*8+ 1*16+ =29
5*1+ 0*2+ 2*4+ 0*8+ 1*16+ =29
3*1+ 1*2+ 2*4+ 0*8+ 1*16+ =29
1*1+ 2*2+ 2*4+ 0*8+ 1*16+ =29
1*1+ 0*2+ 3*4+ 0*8+ 1*16+ =29
5*1+ 0*2+ 0*4+ 1*8+ 1*16+ =29
3*1+ 1*2+ 0*4+ 1*8+ 1*16+ =29
1*1+ 2*2+ 0*4+ 1*8+ 1*16+ =29
1*1+ 0*2+ 1*4+ 1*8+ 1*16+ =29
140
|