九度oj 1151 位操作練習

2021-07-04 18:24:58 字數 907 閱讀 4581

時間限制:1 秒

記憶體限制:32 兆

特殊判題:否

提交:1621

解決:903

題目描述:給出兩個不大於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

樣例輸入:

4

2 49 18

45057 49158

7 12

樣例輸出:

yes

yesyes

no

2023年北京大學計算機研究生機試真題

//方法一

#include#includeusing namespace std;

int main()

{ int n,a,b,i,j,t;

while(cin>>n)

{for(i=0;i>a>>b;

for(j=0;j<16;j++)

{t=(a<>(16-j)) & 65535;

if(t==b)

{cout<<"yes"<=16) cout<<"no"<

九度OJ 題目1151 位操作練習

一.題目描述 給出兩個不大於65535的非負整數,判斷其中乙個的16位二進位制表示形式,是否能由另乙個的16位二進位制表示形式經過迴圈左移若干位而得到。迴圈左移和普通左移的區別在於 最左邊的那一位經過迴圈左移一位後就會被移到最右邊去。比如 1011 0000 0000 0001 經過迴圈左移一位後,...

九度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.排序問題 有...

九度OJ 1402 特殊的數 位操作

題目描述 現在有n個數,其中有一些出現了一次,一些出現了兩次,一些出現了很多次。現在要求你找出那些只出現一次的數,並按公升序輸出。輸入 本題有多組case。每個case有兩行,第一行輸入乙個n,表示有n個數,1 n 1000000。第二行有n個數字。每個數字的大小範圍 1,1000000 輸出 每次...