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號提出分配方案,然後大家表決,當且僅當超過半數的人同意時,按照他的方案進...