西西河

主题:【纪事】失败的苹果面试(上) -- landlord

共:💬133 🌺776
全看分页树展 · 主题 跟帖
家园 刚躺在床上想到一个极妙的招数。一个双重循环搞定。

中学数学,这样的排列组合总共有2^n(杨辉三角的第n+1行)。

所以i从1循环到2^n。对二进制数i,每一位为1则加上,为0则不加。

for(i=1;i<=2^n;i++)

{

sum=0;

for(j=0;j<n;j++)

{

if((i>>j)&0x01)

sum+=set[j];

}

if(sum==N)

return TRUE;

}

return FALSE;

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河