一.題目描述:
給出兩個不大於65535的非負整數,判斷其中乙個的16位二進位制表示形式,是否能由另乙個的16位二進位制表示形式經過迴圈左移若干位而得到。
迴圈左移和普通左移的區別在於:最左邊的那一位經過迴圈左移一位後就會被移到最右邊去。比如:
1011 0000 0000 0001 經過迴圈左移一位後,變成 0110 0000 0000 0011, 若是迴圈左移2位,則變成 1100 0000 0000 0110
輸入:
第一行是個整數n, 0 < n < 300000,表示後面還有n行資料
後面是n行,每行有兩個不大於65535的非負整數
輸出:
對於每一行的兩個整數,輸出一行,內容為yes或no
樣例輸入:
42 4
9 18
45057 49158
7 12
樣例輸出:
yesyes
yesno
二.題目分析
本題中資料範圍是二位元組長,使用unsigned short正好(%hd),同時注意迴圈左移的實現方式,見**。
三.**
#include #include int main()
}if(flag==1)
printf("yes\n");
else
printf("no\n");
}return 0;
}
九度oj 1151 位操作練習
時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 1621 解決 903 題目描述 給出兩個不大於65535的非負整數,判斷其中乙個的16位二進位制表示形式,是否能由另乙個的16位二進位制表示形式經過迴圈左移若干位而得到。迴圈左移和普通左移的區別在於 最左邊的那一位經過迴圈左移一位後就會被...
九度OJ 題目1018
題目1018 統計同成績學生人數 題目描述 讀入n名學生的成績,將獲得某一給定分數的學生人數輸出。輸入 測試輸入包含若干測試用例,每個測試用例的格式為 第1行 n 第2行 n名學生的成績,相鄰兩數字用乙個空格間隔。第3行 給定分數 當讀到n 0時輸入結束。其中n不超過1000,成績分數為 包含 0到...
九度OJ練習筆記
1.c 中使用stl庫,簡化 include include 排序演算法包含在此處 include using namespace std int main sort num.begin num.end 排序演算法 for int i 0 icout cout n return 0 2.排序問題 有...