微軟推理筆試題

2021-07-29 15:55:53 字數 963 閱讀 4042

推理問題

微軟筆試題:利用天平砝碼,三次將140克的鹽 分成50、90克兩份?

有乙個天平,2克和7克砝碼各乙個。如何利用天平砝碼在三次內將140克鹽分成50,90克兩份。

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

微軟筆試題:有兩根不均勻分布的香,每根香燒完的時間是乙個小時,你能用什麼方法來確定一段15分鐘

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

推理答案

第一種方法:

第一次:先稱 7+2克鹽 (相當於有三個法碼2,7,9)

第二次:稱2+7+9=18克鹽 (相當於有2,7,9,18四個法碼)

第三次:稱7+18=x+2,得出x是23,23+9+18=50克鹽.

剩下就是90克了.

第二種方法:

1.先把140克鹽分為兩份,每份70克

2.在把70克分為兩份,每份35克

3.然後把兩個砝碼放在天平兩邊,把35克麵粉分成兩份也放在兩邊(15+7=20+2)

現在有四堆麵粉70,35,15,20,分別組合得到

70+20=90

35+15=50

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

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

一支兩端同時點燃燒完一支是30分,另一支只點一端燒了一半,剩下的支援30分鐘,在同時點燃兩端,得15分鐘

設要判斷的數是無符號整數x。

首先判斷x是否為0,如果為0則不是2的n次冪,返回。

x和x-1進行按位與操作,如果結果是0,則說明這個數是2的n次冪;如果結果非0,則說明這個數不是2 的n次冪。

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

如果不是2的n次冪,則此數用二進位制表示時有多位是1。減1後,只有最後乙個1變成0,前面的 1還是1,所以按位與後結果不是0。

微軟面試題 推理

有4張紅色的牌和4張藍色的牌,主持人先拿任意兩張,再分別在a b c三人額頭上貼任意兩張牌,a b c三人都可以看見其餘兩人額頭上是什麼顏色的牌,a說不知道,b說不知道,c說不知道,然後a說知道了。請教如何推理,a是怎麼知道的。推理 第一輪說明三個人都不知道,那麼分析三個人都不知道的情況 1 三個人...

微軟筆試題 彙總

1.臨界變數critical section的概念 還有semaphore,thread類似的這些 程序進入臨界區的排程原則是 如果有若干程序要求進入空閒的臨界區,一次僅允許乙個程序進入。任何時候,處於臨界區內的程序不可多於乙個。如已有程序進入自己的臨界區,則其它所有試圖進入臨界區的程序必須等待。進...

微軟筆試題 zz

題 有12個球 上面標有1 12的號碼 一台天平稱 沒有砝碼的哦 其中有乙個球的重量和其他的不一樣 不知道是輕了,還是重了哦 稱三次,找出那個重量不同的球來 只能那台沒砝碼的天平稱和12個球本身來操作 正確答案是 1 從12個中任取8個,4對4 的稱,如平衡,則從剩下的4個中再任取2個,1對1的稱,...