Codewars-The wheat/rice and chessboard problem(棋盘放谷粒)

博客讲述了关于棋盘放谷粒的数学问题,源于一个国王与工匠的交易。问题描述了按照2的幂次增长在64格棋盘上放置米粒,展示了这个问题的指数爆炸性质。内容包括问题背景、简单的解决方案思路以及使用二叉树和Math方法的高效计算方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

棋盘放谷粒

科学作家大卫·布拉特纳说,从前,有一个骗子为高端客户制作棋盘——在这个例子中,他是一个国王。

工匠很好;他的棋盘不仅仅是漂亮。他知道,国王喜欢下棋。于是他想出一个计谋,骗国王交出一大笔财产。怎样实现他的计划呢 ?他想,“这个国王的数学不是很好。

于是,当工匠把他的棋盘呈给国王时,他对国王说:

“殿下,我不要钱。或珠宝。我只要一点米饭。”

“嗯,”国王想,他自己就是个骗子。“我有米饭。大米多少钱?”

“我所要的,”工匠说,“就是你把一粒米放在第一格上,两粒放在第二格上,四粒放在第三格上,八粒放在第四格上,如此类推,直到整整六十四格。”

“我能做到。”国王不假思索地说。他命令他的粮仓付钱给这个人买棋盘。

好吧,这结果是相当困难的。棋盘上的前几格花了国王一粒,然后是两粒,然后是四粒……到第一行结束时,他收获了128粒。

在第二排,事情失控了。到第21格时,他欠了一百多万粒粮食;到第四十一年时,已经有超过一万亿粒米——比他、他的臣民或任何地方的国王所能负担的都要多。

毕竟,他是一个国王。他对谈判略知一二。

“我给你钱,”他对工匠说。“但是在你收到钱之前,为了确保你得到了你想要的,我想让你数一数我给你的每一粒粮食。”

噢,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值