九度OJ 題目1151 位操作練習

2021-07-05 02:29:16 字數 743 閱讀 4651



一.題目描述:

給出兩個不大於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.排序問題 有...