contributed by < chi-ming5566
>
測驗一
兩個位元比較後,相異為1,相同為0,此為XOR,所以
OP
= ^
。
測驗三
從 div3
與 div5
可知道要判斷的數是 3 還是 5 的倍數,若是,為 1,若否,則為 0。
再來看length的調整
由此可知:
而 KK1
KK2
KK3
則是在問對起點的調整,再來看 "FizzBuzz%u" 這個字串:
由上面幾點可知, (MSG_LEN >> KK1) >> (KK2 << KK3) 經過計算後的結果 start 需如下表:
div3 | div5 | start |
---|---|---|
0 | 0 | 8 |
0 | 1 | 4 |
1 | 0 | 0 |
1 | 1 | 0 |
可從此表推測出最佳解為 (MSG_LEN >> div5) >> (div3 << 2)。
測驗四