一次循环就行,一共9个数, for i=1;i<=2^9-1;i++ ( sum =0; if (i&0x01) sum+=768; if (i&0x02) sum+=1024; ......... if sum==reslut output
int _tmain(int argc, _TCHAR* argv[]) { int a11[] = {768, 1024, 1280, 1600, 2624, 6336, 7904, 10240, 24448}; int sum = 0; for( int i=1;i <=2^9-1;i++) { if ( i&0x01) { sum += 768; } if ( i&0x02) { sum += 1024; } if ( i&0x03) { sum += 1280; } if ( i&0x04) { sum += 1600; } if ( i&0x05) { sum += 2624; } if ( i&0x06) { sum += 6336; } if ( i&0x07) { sum += 7904; } if ( i&0x08) { sum += 10240; } if ( i&0x09) { sum += 24448; } if (sum == 37520) { cout<< sum <<endl; break;; }
for i=1;i<=2^9-1;i++
(
sum =0;
if (i&0x01)
sum+=768;
if (i&0x02)
sum+=1024;
.........
if sum==reslut
output
{
int a11[] = {768, 1024, 1280, 1600, 2624, 6336, 7904, 10240, 24448};
int sum = 0;
for( int i=1;i <=2^9-1;i++)
{
if ( i&0x01)
{
sum += 768;
}
if ( i&0x02)
{
sum += 1024;
}
if ( i&0x03)
{
sum += 1280;
}
if ( i&0x04)
{
sum += 1600;
}
if ( i&0x05)
{
sum += 2624;
}
if ( i&0x06)
{
sum += 6336;
}
if ( i&0x07)
{
sum += 7904;
}
if ( i&0x08)
{
sum += 10240;
}
if ( i&0x09)
{
sum += 24448;
}
if (sum == 37520)
{
cout<< sum <<endl;
break;;
}
}
system("pause");
return 0;
}是这样的 怎么无休止的运行?
i&0x0002
i&0x0004
i&0x0008
按位判断