時間限制: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
樣例輸入:
42 49 18
45057 49158
7 12
樣例輸出:
yesyesyes
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 輸出 每次...