美團2016招聘筆試 奇數字丟棄

2021-10-11 11:10:27 字數 643 閱讀 6730

1.美團2016招聘筆試:奇數字丟棄

對於乙個由0…n的所有數按公升序組成的序列,我們要進行一些篩選,每次我們取當前所有數字中從小到大的第奇數字個的數,並將其丟棄。重複這一過程直到最後剩下乙個數。請求出最後剩下的數字。

輸入描述:

每組資料一行乙個數字,為題目中的n(n小於等於1000)。

輸出描述:

一行輸出最後剩下的數字。

輸入例子:

輸出例子:

255(1)分析

由分析得第n次取當前第奇數字個的數並將其丟棄,等價於第n次保留位次是2的n次方的倍數的數,等價於第n次剔除位次不是2的n次方的倍數的數。所以建立乙個從1到n+1的陣列代表第1到第n+1個數,迴圈第n次剔除位次不是2的n次方的倍數的數,直到就剩乙個數字。將這個數字減一就是結果值(次序和結果值的轉換)

時間複雜度:o(nlogn)

(2)**及執行

#include

using namespace std;

int a[1010]= ;

void f(int n)

if(num>1)x*=2; //下一輪

}for(i=1; i<=n+1; i++)

}cout<>n;

f(n);

return 0;

}

美團2016招聘筆試 奇數字丟棄

對於乙個由0 n的所有數按公升序組成的序列,我們要進行一些篩選,每次我們取當前所有數字中從小到大的第奇數字個的數,並將其丟棄。重複這一過程直到最後剩下乙個數。請求出最後剩下的數字。輸入描述 每組資料一行乙個數字,為題目中的n n小於等於1000 輸出描述 一行輸出最後剩下的數字。輸入例子 500輸出...

美團2016招聘筆試 奇數字丟棄

對於乙個由0 n的所有數按公升序組成的序列,我們要進行一些篩選,每次我們取當前所有數字中從小到大的第奇數字個的數,並將其丟棄。重複這一過程直到最後剩下乙個數。請求出最後剩下的數字。輸入描述 每組資料一行乙個數字,為題目中的n n小於等於1000 輸出描述 一行輸出最後剩下的數字。輸入例子 輸出例子 ...

美團2016招聘筆試 奇數字丟棄

略 因為是從0開始,所以第一輪移走的是二進位制下最右邊為0的位置 從0開始的偶數字置 上的數,然後我們發現第二輪各個number的位置等於number 2,即從number位置到number 1位置,這時候我們依然移走二進位制下最右邊為0的位置 1 01 5 101 9 1001 它們第二輪對應的位...