在不超過最右邊的數量的情況下任意組合,要求加起來不超過20280這個數字,但達成最接近的情況,現有一種方法為:1290*4+2990*5,差170,有沒有更接近20280的答案:
資料如下:
4900
*13790
*22990
*5//意思是不能超過5次,但可以使用1次,2次,3次,4次,5次。
2390
*31990
*51290
*4
程式如下:
void main()
; int len = 20;
int i;
//int cnt[1048575] = ;
int tempmin = 0xfff;
int cond;
for ( i= 0; i < (1
<< len); i++) //迴圈需要0 到2^len-1 次。
//cout <" "
<" "
<< sum << " "
<< 20280 - sum << endl;
}if ((abs(20280 - sum) < tempmin)&&((i&(0x6))<=4)&&((i&(0xf8))<=0x80)&&((i&(0x700))<=0x400)&&((i&(0xf800))<=8000)&&((i&(0xf0000))<=80000))
}cout <" "
<< cond << endl;
}
最終答案是:
2390*2 2990*1 3790*2 4900
這個程式的主要思想是使用了乙個位對映的思想解決了這個需要好多次迴圈才能解決的問題。
同時我們可以看到對於10m左右的int型陣列,vs的棧好像不能成功分配,但是不考慮分配的話,直接使用,運算速度是相當快的,運算一遍一秒不到。
乙個面試題
題目是 假設乙個 搜尋引擎收錄了2 24首歌曲,並記錄了可收聽這些歌曲的2 30條url,但每首歌的url不超過2 10個。系統會定期檢查這些url,如果乙個url不可用則不出現在搜尋結果中。現在歌曲名和url分別通過整型的song id和url id唯一確定。對該系統有如下需求 1 通過song ...
乙個面試題
res fromkeys name password age print res print res print id res name id res password res name 666 print res 輸出 57496360 57496360 fromkeys 建立字典時,字典中所有的...
乙個Python面試題
這是我遇到的乙個python面試題,因為正規表示式用的不熟悉,所以直接沒參加。最後心裡過意不去,就試著寫了寫 問題如下 請完成乙個程式,並能按步驟實現以下功能 2.統計mt.html中標籤內下所有單詞以及數目並儲存到mt word.txt中。mt word.txt有如下幾點要求 a 每個單詞一行。單...