題目描述:
下面的**把乙個整數的二進位制表示的最右邊的連續的1全部變成0
如果最後一位是0,則原數字保持不變。
如果採用**中的測試資料,應該輸出:
00000000000000000000000001100111 00000000000000000000000001100000
00000000000000000000000000001100 00000000000000000000000000001100
請仔細閱讀程式,填寫劃線部分缺少的**。
#include
void f(int x)
int main()
注意:只填寫缺少的內容,不要書寫任何題面已有**或說明性文字。
解答:這題我是真的不會,想了很多辦法,但是卻沒法通過一句話來實現,我知道應該和移位有關,奈何本人不怎麼常用移位這些功能,所以做不出來,就去網上搜了搜,時間久了我也忘記了是哪個博主寫的了,希望有看到的小夥伴提醒下。
答案:x=x&(x+1);
分析:我只能說這個答案真的太厲害了,換做我想破腦袋都想不出來,若x末尾有一串1,那麼x+1直接把末尾的1全部變為0,然後高位0變1,但是和x進行與運算,x的0消掉了x+1的進製1,真的十分巧妙,記下這個特殊的例子了
河南省藍橋杯第七屆省賽 10 最大比例
題目描述 x星球的某個大獎賽設了m級獎勵。每個級別的獎金是乙個正整數。並且,相鄰的兩個級別間的比例是個固定值。也就是說 所有級別的獎金數構成了乙個等比數列。比如 16,24,36,54 其等比值為 3 2 現在,我們隨機調查了一些獲獎者的獎金數。請你據此推算可能的最大的等比值。輸入格式 第一行為數字...
NYOJ 海島爭霸(河南省第七屆省賽題目)
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 神秘的海洋,驚險的探險之路,打撈海底寶藏,激烈的海戰,海盜劫富等等。加勒比海盜,你知道吧?傑克船長駕駛著自己的的戰船黑珍珠1號要征服各個海島的海盜,最後成為海盜王。這是乙個由海洋 島嶼和海盜組成的危險世界。傑克船長準備從自己所占...
第七屆藍橋杯省賽A組
第一題 煤球數目 有一堆煤球,堆成三角稜錐形。具體 第一層放1個,第二層3個 排列成三角形 第三層6個 排列成三角形 第四層10個 排列成三角形 如果一共有100層,共有多少個煤球?請填表示煤球總數目的數字。注意 你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字 找規律的題,注意1 2 3...