作者Golven (五代裕作)
看板Math
標題Re: [其他] 二進位與二的平方
時間Mon Jun 10 12:03:02 2024
原文及回文恕刪
題外話,原文讓我想起曾看過的一個小遊戲。
求兩個數相乘,
其中一個數一直除以2,
而另一個數一直乘以2。
之所以稱為小遊戲是因為這種作法比直接乘開還慢。
連除2的一側若有餘數(也只能是1)則做記號,一直除到商為0。最後把所有做記號的右側(
連乘2的那一側)相對應的數相加,結果就是答案。
例:53*67
53. 67
26 134
13. 268
6 536
3. 1072
1. 2144
67+268+1072+2144=3551
當時百思不得其解,後來才突然發現,
左側不就是把一個數轉為2進位的算法?
53*67
=(110101)*67
=(2^5+2^4+2^2+2^0)*67
=2144+1072+268+67
=3551
難怪另一個數要連乘2…
反過來做:
67. 53
33. 106
16 212
8 424
4 848
2 1696
1. 3392
67*53
=(1000011)*53
=(2^6+2^1+2^0)*53
=3392+106+53
=3551
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.105.70.247 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Math/M.1717992185.A.AE2.html
1F:推 sluggard : 哇!!謝謝分享!真的好有趣喔~ 06/10 15:10
2F:推 XII : 這個叫Russian Peasant Multiplication 06/15 20:47