微軟筆試題目(一)

2021-06-06 18:20:31 字數 491 閱讀 9048

1.微軟筆試題:快速求取乙個整數的7倍

乘法相對比較慢,所以快速的方法就是將這個乘法轉換成加減法和移位操作。

可以將此整數先左移三位(×8)然後再減去原值:x << 3 - x。

int _tmain(int argc, _tchar* argv)

{//快速求取乙個整數的7倍

int x=3;

x=x<<3;

x=x-3*2;

cout<2.微軟筆試題:判斷乙個數是不是2的n次冪

思路:如果是2的n次冪,則此數用二進位制表示時只有一位是1,其它都是0。減1後,此位變成0,後面的位變成1,所以按位與後結果是0。

int _tmain(int argc, _tchar* argv)

{int n =8;

if (n>0 && (n&(n-1))==0)

{cout<<"yes"《以上就要注意一點,()千萬不要多了

微軟筆試題目(一)

1.微軟筆試題 快速求取乙個整數的7倍 乘法相對比較慢,所以快速的方法就是將這個乘法轉換成加減法和移位操作。可以將此整數先左移三位 8 然後再減去原值 x 3 x。int tmain int argc,tchar argv 快速求取乙個整數的7倍 int x 3 x x 3 x x 3 2 cout...

20091206微軟筆試題目

1 ms筆試題目之一 c 類繼承直接的過載問題 virtual 判斷下面程式的輸出結果 classa class b public a class c public b void main 輸出結果為 c c c 注意 如果 class a中的p 函式不是 vtrual 的,那麼輸出結果就是 a b...

微軟筆試面試題目

智力題 1 燒一根不均勻的繩子,從頭燒到尾總共需要1個小時,問如何用燒繩子的方法來確定半小時的時間呢?2 10個海盜搶到了100顆寶石,每一顆都一樣大小且價值連城。他們決定這麼分 1 抽籤決定自己的號碼 1 10 2 首先,由1號提出分配方案,然後大家表決,當且僅當超過半數的人同意時,按照他的方案進...