消除尾一:
下面的**把乙個整數的二進位制表示的最右邊的連續的1全部變成0
如果最後一位是0,則原數字保持不變。
如果採用**中的測試資料,應該輸出:
00000000000000000000000001100111 00000000000000000000000001100000
00000000000000000000000000001100 00000000000000000000000000001100
請仔細閱讀程式,填寫劃線部分缺少的**。
**:
#include void f(intx)int
main()
注意:只填寫缺少的內容,不要書寫任何題面已有**或說明性文字。
正確答案:x&(x+1)
詳解:1. x>>(31-i))&1 :表示x移位後二進位制數與1的二進位制**與操作,比如x=10(0000 0000 0000 1010),x>>1=(0000 0000 0000 0101),然後與1(0000 0000 0000 0001)進行「與」操作,得出0000 0000 0000 0000,這便表示x的倒數第二位
2. x&(x+1) :題中要求把二進位制最後的連續的1變為0,對於0則不做變化。比如x=247(0000 0000 1111 0111),x+1=248(0000 0000 1111 1000),所以你末尾不管有多少連續的1,加1必須全部變為0,與原來進行「與」操作以後,只要變換的地方全部都是 0,沒變的地方還是原來的樣子,所以就滿足了題意。
2016 年藍橋杯C A組 賽題 密碼脫落
密碼脫落 x星球的考古學家發現了一批古代留下來的密碼。這些密碼是由a b c d 四種植物的種子串成的序列。仔細分析發現,這些密碼串當初應該是前後對稱的 也就是我們說的映象串 由於年代久遠,其中許多種子脫落了,因而可能會失去映象的特徵。你的任務是 給定乙個現在看到的密碼串,計算一下從當初的狀態,它要...
2016 年藍橋杯C A組 賽題 dfs 剪郵票
剪郵票 如 圖1.jpg 有12張連在一起的12生肖的郵票。現在你要從中剪下5張來,要求必須是連著的。僅僅連線乙個角不算相連 比如,圖2.jpg 圖3.jpg 中,粉紅色所示部分就是合格的剪取。請你計算,一共有多少種不同的剪取方法。請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何...
隨意組合 2016 藍橋盃國賽 C A組
隨意組合 小明被綁架到x星球的巫師w那裡。其時,w正在玩弄兩組資料 2 3 5 8 和 1 4 6 7 他命令小明從一組資料中分別取數與另一組中的數配對,共配成4對 組中的每個數必被用到 小明的配法是 巫師凝視片刻,突然說這個配法太棒了!因為 每個配對中的數字組成兩位數,求平方和,無論正倒,居然相等...