您的位置 首页 > 娱乐休闲

二进制不只是0和1,它能解决很多常规方法无法解决的难题

话说有一地主,他请一个技艺非凡的匠人修建一漂亮亭子,工期为7天。

地主家没有余粮但有一根细长的金条,他跟匠人约定,每天的工钱就是金条的七分之一。

然而,由于种种原因,金条只能切两刀,请问,应该怎样切才能给匠人每天支付七分之一的黄金?

地主说了,谁能解决这道难题,就把他家女儿嫁给他。

…………

这当然是一道数学题。

答案很简单,但很有趣,如果你之前没有见过,可以先不看下文,先自行思考一下。

我们知道,计算机的世界里只有“0”和“1”。

因为计算机使用“二进制”。

解决本题的思路在于二进制。当然,当你知道答案后,就是不提二进制,你也会做,只是呢,借此了解一下二进制的一些相关知识,也是挺值的。

(若想直接看答案,可直接跳到尾部)

二进制,顾名思义,就是逢二进一。这跟十进制中的逢十进一是一样一样的。

如上图,从右到左,我们可以使用A、B、C,3个火把表示一个3位二进制。A火把如果点燃,就表示1,熄灭,表示0,这跟计算机世界中的“1”和“0”没有本质区别。

现在,我们要用火把表示数字“2”,根据逢二进一的原则,应该往前进一位,也就是B位。

如上图,上面的火把表示数字2。写成二进制就是010。

如上图,上面的火把表示数字3。写成二进制就是011。

如果要表示4,就得在上面的基础上加1,于是,A位往前进一,B位也要往前进一,来到C位。

如上图,C火把点燃表示数字4,写成二进制就是100。

表示5就简单了。

上图表示5,写成二进制就是101。

上图表示数字6,用二进制来表示6就是110。

同理,上图表示数字7,二进制为111。

瞧,如果使用二进制的话,我们就能使用3个火把,在“熄灭-点燃”间表示数字1到7了。其实还可以表示数字0,全部没有点燃时。

这里的熄灭和点燃,就像是灯泡的点亮和熄灭。而最最古老的计算机里也是用一个个灯泡在点亮和熄灭间进行的。

以下为答案

一块金条,每天要支付给工匠七分之一,但只能切两刀,这两刀可以把金条切成4份,也可以切成3份。显然,切成4份是不能解决问题的。

在这里,我们选择切分成3份。

为什么要这么切分?因为这跟上面的二进制是一样的道理。从右往左,第一位代表1,第二位代表2,第三位代表4。

二进制十进制
0011
0102
0113
1004
1015
1106
1117

现在,咱们来教一下地主,怎么给工匠每天支付七分之一的黄金。

为了便于表述,上图黄金的1,命名为“小块”,中间那块2叫做“中块”,左边那块4叫做“大块”。

现在开始支付:

第一天:将小块金条给工人。

第二天:从工人那里取回小块,并给工人中块。(取回的过程相当于A火把熄灭,也相当于1变成0)

第三天:将小块支付给工人。

第四天:从工人那里取回小块和中块,并给工人大块。(相当于熄灭前两个火把,点燃C)

第五天:将小块给工人。

第六天:从工人那里取回小块,并给他中块。

第七天:将手里最后的小块支付给工人。

方法就是这样的。

我们终于帮地主家解决了难题……

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“二进制如何表示,二进制如何表示负数,二进制如何表示文字,转化为二进制如何表示”边界阅读