nitacm20317 來自張司機的挑戰書

2022-05-19 18:53:07 字數 596 閱讀 2814

題目:讓你求從x到y中(1<=x<=y<=10^18),二進位制一的個數最多的數是哪個,如果有多個相同的答案,輸出最小的。

類似題目及題解:

分析:先把x和y轉換成二進位制位:

(假設x,y最高位不是同一位):則答案可以取11111

(如果lr最高位相同):則最高位的數一定取,然後比較減去最高位後,剩下的數

特判:y的二進位製全是1時,答案為y。

注意:&運算優先順序低於==,需要加括號

#includeusing

namespace

std;

int cal2(long

long n)//

計算二進位制有幾個1

return

cnt;

}long

long cal(long

long x,long

long

y)

else

//最高位不相等

return

ans;}}

}return0;

}int

main()

return0;

}

4 來自 Google 的奇技

google 用了很多自己實現的技巧 工具使 c 更加健壯,我們使用 c 的方式可能和你在其它地方見到的有所不同.tip如果確實需要使用智慧型指標的話,scoped ptr 完全可以勝任.你應該只在非常特定的情況下使用 std tr1 shared ptr 例如 stl 容器中的物件.任何情況下都不...

IPAD2 來自矽谷的最新獨家報道

今天去客戶辦公室,路過矽谷最著名的那家蘋果店,發現門口排起長隊。走過去,發現今天下午5點ipad2開始發售。這隊伍從蘋果店門口一直排到梅西,lv門口 我每天都經過這裡,第一次看到這種情形。隊伍裡面80 是中國人,深深證明了中國人民站起來了!中國人有錢了!很多博友會問,怎麼這裡頭這麼多中國老太太阿?呵...

IPAD2 來自矽谷的最新獨家報道

今天去客戶辦公室,路過矽谷最著名的那家蘋果店,發現門口排起長隊。走過去,發現今天下午5點ipad2開始發售。這隊伍從蘋果店門口一直排到梅西,lv門口 我每天都經過這裡,第一次看到這種情形。隊伍裡面80 是中國人,深深證明了中國人民站起來了!中國人有錢了!很多博友會問,怎麼這裡頭這麼多中國老太太阿?呵...