欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是:首页  > 科普文章

《啊哈!灵机一动》-1776引起的兴致

科普小知识2022-07-14 22:43:13
...

模块化算术

海伦避免从1到1976的长计数的诀窍是,她意识到这个问题可以通过使用一种叫做“模运算”或“时钟运算”的理论来快速解决。

时钟算法模拟12个数字的有限算法。事实上,在基于12的模运算中,12和0是相同的。假设现在正好是12点,你想知道100小时后是什么时间,你只需要用100除以12就可以得到余数。余数等于4,表示100小时后,时钟显示4点整。我们关心的只是剩下的。数字“100”被认为等同于“4”(模12),这仅仅意味着当100除以12时,余数是4。

你知道亨利叔叔的计数方法相当于“时钟算术”吗?唯一的区别是中间的三个瓶子各代表两个数字,因为它们在两个不同的方向上被计数了两次。“8”数字在开始后到达第二个瓶子,然后另一个循环再次开始。因此,这个过程显示了一个包含8个模块的算术过程。

海伦只确认了1976年的等值(8的形式)。换句话说,1976年除以8后的余数为零。在模8的算术中,8=0(模8)。因此,1976年的计数必须在计数开始的第二个瓶子处停止。

如果亨利叔叔有一个很大的数字,比如12345678987654321,如果你想知道他最后停在哪里,你必须把整个数字除以8吗?事实上,不是。因为1000=0(模8),你只需要把最后3个数字321除以8。321之后的余数除以8等于1,这意味着12345678987654321=1(模8)。所以计数必须在第一瓶结束。

为了改变瓶子的数量,你可以用偶数模块设计许多有限的算术模型。如果计数瓶子的方式通常是从左到右计数,那么你可以建立一个有限的算术模型,以任何奇数或偶数为模块。

“约瑟夫问题”是一个著名的问题,它包括对物体的周期性计数,因为它是基于一个名叫约瑟夫的古罗马故事。有许多类似这个问题的作品。下面是一个有趣的新外国故事。

从前,一个富有的国王有一个美丽的女儿,名叫约瑟芬。数百名年轻人在追她。最后,每个人都被排除在外,除了她选择的10个人。

几个月过去了,约瑟芬还没有下定决心。国王很生气。他说,“宝贝,下个月你就17岁了。所有公主在这个年龄之前结婚是我们的习俗。”

她回答说:“爸爸,但是我还没有最终决定我是否最喜欢乔治。”

"既然如此,今天我们必须通过惯例来解决这个问题."

接下来,国王解释了古代仪式是如何进行的。他说:“十个人站成一圈。你可以选择任何你喜欢的人。然后你开始沿着圆圈顺时针数,数到你17岁。第十七个人必须退出圈子。我们给他100枚金币作为补偿,然后送他回家。”

“他走后,你会从1数到17。这一次,从退出者的下一个数字开始,当数到17时,第17个人将像以前一样被排除。照此继续做下去,永远清点剩余的人,直到最后一个。他是想娶你的人。”

约瑟芬皱着眉头说,“爸爸,我还不确定,我要用10枚金币来练习吗?”

国王同意了。约瑟芬把10枚金币放在一个圆圈里,开始在圆圈里数数。去掉每一个17号,直到最后一个剩下。国王一直等到他的女儿完全掌握了这个过程。

十个求婚者被带到了宫殿。他们围着约瑟芬站成一圈。她毫不含糊地从帕西法数起。很快,除了她暗恋的乔治,所有人都被排除在外。约瑟芬有什么诀窍让她最终能轻松找到乔治的第一个号码?

约瑟芬的最佳计划是。当她数实验用的金币时,她记得最后剩下的金币是她数的第三枚,所以当她数人数时,她数的是能把乔治排在第三位的那枚。

约瑟芬问题的一般原理可以用一副扑克牌中的13张黑桃来说明。你能把这些卡片按顺序排列,并按如下方式进行约瑟芬计数吗?

在开始计数时,一只手拿着有13张面朝下的扑克牌的盒子,上面的牌叫做1,当打开时,它是A。把A放在桌子上,然后数1和2。把第一张牌放在盒子下面,把第二张牌倒过来放在桌子上是第二张。然后数1,2,3,把头两张牌放在盒子下面,把第三张牌翻过来放在桌子上,这是第三张黑桃。继续这样,从盒子顶部一次只拿一张卡片,然后依次拿第二张卡片(类似于约瑟芬的循环计数),直到你把放在桌子上的13张卡片翻转过来,这正好是从A到k的顺序

以下是这些卡片的排列顺序。从上到下,这样排列:a,8,2,5,10,3,q,j,9,4,7,6,k。

如果你认为设计这样一个序列会浪费很多人的时间,那么有一个简单的方法可以得到序列。许多从事这类研究的专家花了很多时间才意识到简化问题的启示。