★實驗任務
給定乙個正整數 n,找出另乙個正整數 m,使得 n 和 m 轉化為二進位制時,它們所出現的
「1」 的個數一致,且 m 必須比 n 大。輸出乙個滿足條件的最小的 m。
例如 78,轉換成二進位制為 1001110,這個二進位制數中有 4 個「1」。而 83(1010011)和
86(1010110)都滿足二進位制中「1」 的個數與 78 一樣,且值都比 78 大。但顯然 83 是最小
的那個,輸出它。
★資料輸入
輸入乙個整數 n(1<=n<=100000)
★資料輸出
輸出一行, m。
輸入示例 輸出示例
3 5
78 83
#includeusing namespace std;
int main()
while(true)
if(i==j)
return t;
} int main()
printf("%d\n",m);
return 0;
}
搜尋 由淺入深 之一 水題
搜尋很重要,是很難學的演算法,能看懂很簡單,但是要想真正做出題來就比較困難了,那麼,我們現在就水題開始研究搜尋。水題之 time limit 1 sec memory limit 162 mb submit 830 solved 572 submit status discuss windy的生日到...
水題系列 2
水題系列 prev 40 k倍區間 思路 這一題其實不算水題,是一題很巧妙的智商題,要想的到思路,其實題目要求就是要求區間和有幾個能被乙個數整除,但是題目的範圍特別大,兩個for迴圈必超時,所以得用巧方法,先求出字首和,然後將每乙個字首和對需要整除的數取餘,如果有兩個字首和對取餘的結果是一樣的,那麼...
水題系列 5
水題系列1 prev 54 合根植物 想法 一道非常簡單的並查集,完完全全水題,但是也得需要一些並查集的基本理解 include includeusing namespace std mapmm int book 10000100 int n,m,sum,x,y,num 0 int fun int ...