实践七国际象棋棋盘上的麦粒
- 格式:doc
- 大小:55.00 KB
- 文档页数:5
棋盘上的麦粒读后感《棋盘上的麦粒》是一本由罗纳德·瓦特林所著的小说,它以一个关于麦粒的故事为背景,讲述了一个智慧王子和一个善良女孩的故事。
这本书在全球范围内广受欢迎,深受读者喜爱。
故事的背景是在一个古老的王国里,有一个智慧王子和一个善良女孩。
王子和女孩都非常聪明,他们决定一起为王国做点什么。
于是,他们向国王提议了一个计划,每天在棋盘上的一个格子上放一粒麦粒,然后每一天都在前一天的两倍上放麦粒。
国王听了以后,觉得这个计划太简单了,于是答应了他们的请求。
然而,随着时间的推移,国王才发现这个计划的可怕之处。
因为按照这个计划,放满整个棋盘需要的麦粒数量是惊人的,远远超过了他的想象。
这个故事告诉我们,有时候一些看似简单的事情,却可能会带来巨大的影响。
这本书给我留下了深刻的印象。
首先,它让我意识到了一个看似简单的问题背后可能隐藏着巨大的挑战。
在生活中,我们可能会遇到一些问题,看似简单,但实际上却需要我们付出巨大的努力和智慧来解决。
这需要我们保持谦虚和勤奋的态度,不断学习和成长。
其次,这本书也让我明白了合作的重要性。
在故事中,王子和女孩联手为王国做出了重大的贡献。
他们之间的合作和信任是他们能够克服困难的关键。
这也启发了我,让我意识到在现实生活中,合作和团队精神是非常重要的,只有通过合作,我们才能取得更大的成功。
最后,这本书也让我明白了时间的重要性。
故事中的计划虽然看似简单,但却需要长时间的积累才能达到预期的效果。
这也告诉我们,有些事情需要长期坚持和耐心等待,成功不是一蹴而就的。
这让我明白了在追求梦想的道路上,需要有足够的耐心和毅力,不断努力,才能最终取得成功。
总的来说,读完《棋盘上的麦粒》,我受益匪浅。
这本书不仅是一部寓言故事,更是一部关于智慧、合作和耐心的启示录。
它让我明白了很多道理,也让我更加珍惜和感激身边的一切。
我相信,这些道理和启示将会伴随着我,指引着我走向更加美好的未来。
小学数学数学故事宰相的麦子
宰相的麦子
相传古代印度国王舍罕要褒赏他的聪明能干的宰相达依尔(国际象棋发明者),问他需要什么达依尔回答说:“国王只要在国际象棋棋盘的棋盘第一格子上放一粒麦子,第二个格子上放二粒,第三个格子里放四粒,以后按此比例每一格加一倍,一直放到第64格(国际像棋盘是8*8=64格),我就感恩不尽,其它我什么也不要了。
”国王想:“这有多少!还不容易!”让人扛来一袋小麦,但不到一会儿全用没了,再来一袋很快又没有了,结果全印度的粮食都用完还不够。
国王奇怪,怎么也算不清这笔账。
现在我们用电子计算机来算一下。
求需要多少体积的小麦:1立方米约有1.42*10^8(10的8次方)颗。
棋盘上的麦粒读后感故事的主人公是一位贪婪的国王,他以权贵自居,自视甚高。
有一天,在一场大麦收成后,一位农夫送给国王一块麦粒,并希望国王以这块麦粒为报酬给他一些东西。
国王听到这个要求后非常愤怒,认为农夫非常愚蠢,因为他只给了一块麦粒,而自己是国王,应该得到更多的报酬。
然而,农夫却向国王描述了一个关于麦粒数量成倍增加的故事。
他说,如果将这块麦粒放在棋盘上的第一个格子上,然后再在第二个格子上放两块麦粒,第三个格子上放四块麦粒,以此类推,直到棋盘的最后一个格子。
那么,在棋盘上一共有64个格子,最后一格应该放2的63次方-1块麦粒。
国王听到这个数字后,震惊不已。
他没有想到一开始如此微不足道的一粒麦粒,最后竟能积累成如此庞大的数量,远远超过了国王自己的财富。
他恍然大悟,意识到财富的增长不一定是直线的,而是呈指数级的增长。
这个故事让我深深地思考了人生中的追求和意义。
在这个物欲横流的社会,许多人都在追逐财富和名利。
然而,这个故事告诉我们,贪婪是没有止境的。
就像国王一样,一开始他觉得一块麦粒不值一提,但最后却发现自己无法支付这么多麦粒的报酬。
贪婪只会让人越来越贪婪,永远是无法满足的。
与此相反,我们应该追求的是智慧和内心的满足。
通过不断学习和成长,我们可以变得更加聪明和理智,有能力做出正确的决策。
同样,内心的满足来自于对生活的热爱和对他人的帮助。
将自己的能力和财富用于造福他人,才能真正实现生命的意义。
除了对人生意义的思考,这个故事还让我想到了科学的奇妙。
在故事中,麦粒的数量成倍增加,呈现出指数级的增长。
这正是数学中的一个经典问题,被称为“汉诺塔问题”。
汉诺塔问题的解法中也涉及到指数级的增长,十分有趣。
通过这本书,我深刻理解到了贪婪的危害,以及追求智慧和内心满足的重要性。
这些都是我在人生旅途中需要不断思考和追求的。
我也希望自己能够像农夫一样,拥有智慧和善良的品质,去真正助人为乐,让自己的生命变得更有意义。
《棋盘上的麦粒》是一节初中Python优质课的实录。
这节课以古代故事中的麦粒问题为题材,结合Python编程知识,引导学生了解指数增长和递归算法。
这个主题涉及数学、编程和逻辑思维,是对学生综合能力的一次综合性锻炼。
在这篇文章中,我将以多个方面来探讨这个主题,包括历史渊源、教学内容、教学方法和自我体会。
1. 历史渊源我们来了解一下古代故事中的麦粒问题。
相传古印度的国王舍罕王曾赐予数学家施瓦斯特拉一项重大的赏赐,希望他能够提出一项对国家有利的数学发明。
施瓦斯特拉要求在国际象棋棋盘上的第一个格子里放一粒麦子,第二个格子里放两粒麦子,第三个格子里放四粒麦子,以此类推,每个格子都是前一个格子里麦子数量的两倍。
舍罕王听到这个要求觉得太过简单,便同意了。
但当王国的库房几乎全部被麦粒填满时,舍罕王才意识到这个数列是一个指数增长的数列,数量是如此的巨大。
这个故事象征着指数增长的威力,教育我们要警惕小的变化可能带来的巨大影响。
2. 教学内容在这节课中,老师首先讲解了指数增长的概念,这是数学中一个非常重要的知识点。
老师引入了Python中的递归算法,通过编写程序来模拟麦粒的数量。
学生们通过编程,进一步理解了指数增长和递归算法的原理。
这种教学方式既生动有趣,又能够使学生直观地感受到指数增长的巨大性,有助于他们深刻理解这个概念。
3. 教学方法这节课采用了以学生为主体的授课方式,老师在讲解知识点的引导学生进行思考和讨论。
通过小组讨论和展示,学生们不仅加深了对知识的理解,还培养了团队合作能力和表达能力。
在编程环节,老师对学生进行了适当的引导,让他们亲自动手编写Python程序,这种亲身实践的方式对学生而言是一次难忘的体验。
4. 总结与回顾通过这节课的学习,学生们不仅掌握了指数增长和递归算法的知识,还培养了逻辑思维和问题解决能力。
学生们也意识到了数学与编程的紧密联系,这对于培养他们的计算机素养和创造力是非常有益的。
5. 个人观点这节课的主题是非常有价值的,它引导学生从古代故事中了解到一个数学问题,通过编程实践,深入理解了指数增长和递归算法的内涵。
实践七国际象棋棋盘上的麦粒1、实践目标(1)理解循环语句的作用,能根据实际情况正确使用For语句与Do 语句。
(2)学会使用VB循环控制结构编写程序,实现简单的算法。
2、任务描述在印度有一个古老的传说:舍罕王打算奖赏国际象棋的发明人——宰相西萨·班·达依尔。
国王问他想要什么。
他对国王说:陛下,请您在这张棋盘(图7-1)的第1个小格里,赏给我1粒麦子,在第2个小格里给2粒,第3小格给4粒,以后每一小格都比前一小格加1倍。
请您像这样摆满棋盘上所有64格的麦粒,都赏给您的仆人吧!国王觉得这个要求太容易满足了就命令给他这些麦粒。
当人们把一袋一袋的麦子搬来开始计数时,国王才发现:就是把全印度甚至全世界的麦粒全拿来,也满足不了那位宰相的要求。
那么,宰相要求得到的麦粒到底有多少呢?尝试设计一个程序来计算。
3、操作提示(1)问题分析本问题可用累加的方法来求解,即最后得到的麦粒数由每一格赏赐的麦粒数相加得到,而且相邻的格子要求得到赏赐的麦粒数也是有一定规律的,即后一格是前一覆盖麦粒数的2倍。
若用1表示当前所处的格子,p表示此格子中应该赏赐的麦粒数,s表示累加得到的麦粒数,分析过程见表7-1。
表7-1由表7-1的分析可得i= ,p= ,s= 。
(2)设计算法。
根据上面的分析,可画出算法流程图如下:(3)程序实现。
①将下列根据上面算法编写的代码填写完整。
Private Sub Command1 Click( )Dim n As Integer, i As Integer, p As Double, s As Double n=Val(Text1.Text)s=0p=1For i= Tons=p=Next 1Text2.Text=Str(s)End Sub②新建工程,创建窗体。
界面设计参照图7-2,属性设置参照表7-2。
表7-2 窗体中主要控件属性设置③将上面完成的代码段输入到计算按钮的代码窗口中。
棋盘格子装米算法总和棋盘格子装米问题,又被称为“180度麦粒问题”,是一个经典的数学问题。
问题的背景是这样的:传说中,国际象棋设法酬报国王给予他的发明。
发明是棋盘上的64个方格,以及64个大米。
国王很快就发现这个发明过于简单,从而没有像他预期的那样奖励发明者。
比赛是在亚洲举行的,国际象棋的交流在亚洲非常普遍。
现在,这个问题会在每一个阶段或比赛中重新提到。
这个问题的任务是计算整个棋盘上需要多少个谷物。
棋盘的第一个方格上放置一个谷粒,第二个方格上放置两个谷粒,第三个方格上放置四个谷粒,以此类推。
每个方格上的谷粒数量都是前一个方格数量的两倍。
问题要求计算所有谷物数量的总和。
首先,我们来分析这个问题。
棋盘上一共有64个方格,每个方格有对应的谷粒数量。
我们可以用数学公式来表示这个问题。
如果设第一个格子的谷粒数量为1,将其他每个格子的谷粒数量设为$2^{n-1}$,其中$n$代表方格的编号,那么第一个方格的谷粒数量是$2^{1-1}=1$,第二个方格的谷粒数量是$2^{2-1}=2$,第三个方格的谷粒数量是$2^{3-1}=4$,以此类推。
接下来我们可以推导出,第$n$个方格的总谷粒数量,可以表示为$2^{n-1}$。
而所有64个方格的总谷粒数量等于各个方格谷粒数量之和,即$1+2+4+8+...+2^{n-1}$。
现在我们来推导这个等差数列的求和公式。
设等比数列的首项为$a_1$,公比为$q$,项数为$n$,那么等比数列的前$n$项和可以表示为$S_n=\frac{a_1(1-q^n)}{1-q}$。
对于我们的问题,首项$a_1=1$,公比$q=2$,项数$n=64$。
代入公式中。
这个结果看起来可能令人惊讶,因为这个数字非常庞大。
实际上,这个数字已经超出了人类记忆和计算的范围。
对于普通的计算机也很难一次性计算出这个结果。
我们可以用python来验证一下这个结果。
```total_grains = 0current_grains = 1for i in range(64):total_grains += current_grainscurrent_grains *= 2print(total_grains)```需要注意的是,这个问题中的计算数量非常庞大,远远超出了人类的想象力。
棋盘上的数学同学们,听说过国际象棋吗?国际象棋起源于印度,它的棋盘是正方形的,由8行8列颜色一深一浅、交错排列的64个小方格组成(如右图)。
国际象棋和它的发明人——印度人西萨·班·达依尔还有一段有趣的故事呢!读一读棋盘上的麦粒西萨·班·达依尔是古印度舍罕王的宰相。
一次,舍罕王觉得自己王宫里的所有游戏都玩腻了,于是,他下令说,如果谁能发明一种使他开心的游戏,谁就将得到很多的赏赐。
达依尔知道了这个消息,便把自己发明的国际象棋奉献给了舍罕王。
舍罕王觉得这种游戏很有趣,非常高兴,就打算重赏达依尔。
舍罕王问达依尔:“你的发明给我带来了很多欢乐,你要什么赏赐,我就给你什么赏赐!”达依尔不慌不忙地说:“陛下,请你在这张棋盘的第一个小格里,赏给我1粒麦子,在第二格里赏2粒,照这样下去,每一格里的麦子都比前一格加一倍。
直到把棋盘的64个格子都摆满,您把这些麦子赏给我就够了。
”舍罕王对达依尔的要求既奇怪,又高兴:“达依尔,你的要求也太少了,我会让你满足的!”于是舍罕王命令侍臣,把这些麦子如数付给达依尔。
数麦粒的工作开始了,第一格放1粒,第二格放2粒,第三格放4粒,可还没放到20格,一袋的麦子已经空了。
接着一袋又一袋的麦子被扛上来,一袋又一袋的麦子被数尽,依旧无法达到达依尔的要求。
而舍罕王也惊得目瞪口呆,因为他发现:达依尔的要求竟是无法兑现的!??做一做让我们一起来动手做一做吧!这是为什么呢?图画不好,本意想画成两次对折状。
我们研究所要借助的材料是一张普通的白 纸。
如图,对折1次,纸有几层?对折2次, 纸有几层? 对折3次呢?1. 随着对折次数的不断增加,你发现纸的层数变化有什么规律吗?2. 这些层数与2又有什么特殊的联系呢?○ 小 贴 士 ○4可以写成2×2,两个2相乘可以在2 的右上角写一个2,即22,读作2的平方,或 2的2次方。
通常,几个2连乘,就可以在2的右上角写 几,读的时候就读作2的几次方。
棋盘上的麦粒问题(数学文化)(学习版)编制人:__________________审核人:__________________审批人:__________________编制学校:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的教学资料,如数学资料、英语资料、语文资料、历史资料、地理资料、生物资料、物理资料、政治资料、美术资料、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor.I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!In addition, this shop provides various types of teaching materials, such as mathematics materials, English materials, Chinese materials, historical materials, geographic materials, biological materials, physical materials, political materials, art materials, other materials, etc. Please pay attention to the data format and writing method!棋盘上的麦粒问题(数学文化)学习数学是为了探索宇宙的奥秘。
国际象棋棋盘上的麦粒1、实践目标(1)理解循环语句的作用,能根据实际情况正确使用For语句。
(2)学会使用VB循环控制结构编写程序,实现简单的算法。
2、任务描述在印度有一个古老的传说:舍罕王打算奖赏国际象棋的发明人——宰相西萨·班·达依尔。
国王问他想要什么。
他对国王说:陛下,请您在这张棋盘(图7-1)的第1个小格里,赏给我1粒麦子,在第2个小格里给2粒,第3小格给4粒,以后每一小格都比前一小格加1倍。
请您像这样摆满棋盘上所有64格的麦粒,都赏给您的仆人吧!国王觉得这个要求太容易满足了就命令给他这些麦粒。
当人们把一袋一袋的麦子搬来开始计数时,国王才发现:就是把全印度甚至全世界的麦粒全拿来,也满足不了那位宰相的要求。
那么,宰相要求得到的麦粒到底有多少呢?尝试设计一个程序来计算。
3、操作提示(1)问题分析本问题可用累加的方法来求解,即最后得到的麦粒数由每一格赏赐的麦粒数相加得到,而且相邻的格子要求得到赏赐的麦粒数也是有一定规律的,即后一格是前一覆盖麦粒数的2倍。
若用i表示当前所处的格子,p 表示此格子中应该赏赐的麦粒数,s表示累加得到的麦粒数,分析过程见表7-1。
表7-1由表7-1的分析可得i= ,p= ,s= 。
(2)设计算法。
根据上面的分析,可画出算法流程图如下:(3)程序实现。
①将下列根据上面算法编写的代码填写完整。
Private Sub Command1_Click( )Dim n As Integer, i As Integer, p As Double, s As Double n=Val(Text1.Text)s=0p=1For i= To ns=p=Next iText2.Text=Str(s)End Sub②新建工程,创建窗体。
界面设计参照图7-2,属性设置参照表7-2。
表7-2 窗体中主要控件属性设置③将上面完成的代码段输入到计算按钮的代码窗口中。
④调试运行程序。
《棋盘上的麦粒》的故事
古印度有一个国王,很喜欢下棋。
每日都要大臣们陪他下棋,一来国王的棋艺很不错,二来大臣们都惧怕国王,因此,国王从来没有遇到过敌手,只赢不输。
一天,国王觉得总跟手下败将下没有意思,就下令:谁能赢了他,就可以满足这个人提出的一个愿望。
手下一位从未跟国王下过棋的大臣走上前来,要求与国王下一盘棋。
国王根本没有把这位大臣放在眼里,可是结果,聪明的大臣赢了。
国王虽然输了,但很大度地说:“提出你的要求吧,我会信守诺言,满足你的要求的。
”大臣轻轻地说:“我只想要一些麦粒,能把棋盘放满。
这个棋盘共有64个方格,陛下,请在第一个格子里放一颗麦粒,第二个格子里放2颗,第三个格子里放4个,第四个格子里放8粒……依此类推,把64个格子都放满。
”国王一听,不假思索地说:“这样小小的要求,我立刻就满足你。
”于是,命令管粮食的大臣按着这位大臣的计算方式算好麦粒的数目。
管粮食的大臣计算后,走到国王面前悄声说:“陛下,按照他的要求,全国的粮食加起来也不够啊!您看,1+2+22+23+24+25……=18446744073709551615粒,1立方米的麦粒大约是1500万颗,一共要给他12000立方米的麦粒。
”国王一听傻了眼,这可怎么办?“陛下,不必烦恼,我们可以打开粮库,让他自己去数好了,即使每秒钟数两粒,每天数12个小时,那么10年才可以数20万立方米,所以要数完他要的麦粒,共需要2900亿年。
”管粮食的大臣对国王说:“陛下,我想他并非真的要得到这么多的麦粒,
他只是想试一试还有谁比他更聪明吧。
”国王听了管粮大臣的分析,十分高兴。
因为他有两位又聪明又忠实的大臣。
棋盘放米粒的故事
有一个国王想奖赏国际象棋发明者。
国王问国际象棋发明者想要什么奖赏,国际象棋发明者对国王说:“我要的奖赏也不多,只要在棋盘上的第一个格子放一粒米,第二个格子放两粒米,第三个格子放八粒米,第四个格子放十六粒米,按照这样的方式把整个棋盘的64个格子都放好米就行。
”
国王一听,觉得这太容易了,就随口答应了。
但是,国王很快就发现自己并没有这个实力,即使把国库里的粮食全给了国际象棋发明者,也远远不够。
按照国际象棋发明者所说的方式,第64个格子应该放的米粒数是2的63次方,也就是922亿亿粒米。
一粒米的重量约为0.016克,算下来,第64个格子应该放大约1475亿吨米。
1475亿吨米,这是什么概念呢?
联合国粮农组织公开的数据显示,2017年全球粮食产量约为26.27亿吨,2018年全球粮食产量约为25.87亿吨。
也就是说,第64个格子所需要的米相当于全世界60年粮食产量的总和。
这只是一个格子,如果算上另外63个格子,那将是一个非常庞大且惊人的数字。
之所以讲这则故事,是因为我想引出一个概念——复利思维。
爱因斯坦说:“复利是世界的第八大奇迹。
”
通过上面的这则故事,你应该能领略到复利的神奇之处。
棋盘上的麦粒古时候,印度有个国王很爱玩.一天,他对大臣们说,希望得到一种玩不腻的玩意儿,谁能贡献给他,将有重赏.不久,有个聪明的大臣向他献上一种棋子,棋盘上有64个格子,棋子上刻着“皇帝”、“皇后”、“车”、“马”、“炮”等字.下这种棋子,是玩一种变化无穷的游戏,确实让人百玩不厌.国王就对那个聪明的大臣说:“我要重赏你.说吧,你要什么,我都能满足你.”那个大臣说:“我只要些麦粒.”“麦粒?哈,你要多少呢?”“国王陛下,你在第一格棋盘上放1粒,第二格上放2粒,第三格上放4粒,第四格上放8粒……照这样放下去,把64格棋盘都放满就行了.”国王想:这能要多少呢?最多几百斤吧.小意思,就对管粮食的大臣说:“你去拿几麻袋的麦子赏给他吧.”管粮食的大臣计算了一下,忽然大惊失色,忙向国王报告道:“照这样的计算,把我们全国所有的粮食全给他,还差得远呢!”说完把计算题列给国王看,得数等于18,446,774,073,709,551,615(颗麦粒)1立方米麦粒大约有1500万粒,那么照这样计算,得给那位大臣12000亿立方米,这些麦子比全世界2000年生产的麦子的总和还多.国王脸色铁青,忙问管粮食的大臣说:“那怎么办?要是给他吧,我将永远欠他的债;要是不给他吧,我不就成了说话不算数的小人了吗?请你给想想办法吧.”管粮食的大臣想了想说:“办法只有一个,你应该说话算话,才能让全国人民相信您是位好国王.”“可是我没有那么多的麦子呀.”“请您下令打开粮仓,然后请献棋的大臣自己一粒一粒地数出那些麦子就行了.“那么要数多长时间呢?”管粮食的大臣计算了一下说:“假设每秒钟能数2粒麦子的话,每天他数上12小时,是43200多秒,数上10年才能数出20立方米,要数完那个数目将需要2900亿年呢.他能活多少年呢?再说枯燥的生活能折磨人,他这样下去岂不要短寿?因此我想,他的本意并不是想要得到那些不可能得到的麦粒,他只是试试我国有没有比他更聪明的人罢了.”国王大喜,夸奖道:“看来,至少你比他还要聪明呢!智慧人物治理国家,国家才能兴旺发达.我决定提拔你俩当我的左右宰相!”启示:这则故事让我们明白了滴水穿石的启示,积小成多,即使一滴雨水,也能成就大海.再弱小的事物当初总是被世人讥笑,但是只要它不断积聚力量,总有一天会强大的.而从弱小变为强大的过程也许很难被人察觉,当你能看见它时,它一定到了一个令人难以置信的地步.因此,我们平时应该从小事做起、从身边事做起,踏踏实实,争取每天都有新进步,这样积少成多,将来就会有大成功.麦粒的颗数求:1+2+22+23+24+…+263的值.如何求它的值呢?1+2+22+23+24+25+26+27+28+…+262+263=21-1+22-1+23-1+…+263-1+264-1=1×(1−264)1−2=264-1=18446744073709551615。
关于棋盘麦粒的传说
关于棋盘麦粒的传说
在印度,有一个古老的传说:当时舍罕王打算重赏国际象棋的发明人宰相西萨·班·达依尔。
宰相请舍罕王在棋盘的第一个小格内赏给他一粒麦子,在第二个格子内赏给他2粒麦子,第三个格赏给他2×2=4粒麦子,……照此下去,每一格内的麦子都比前一小格的加一倍。
舍罕王认为这样摆满棋盘上所有64格的麦粒也不过一小袋,就答应了宰相的要求。
可是当宫廷数学家计算了这个数目之后,才发现整个国家仓库里的所有麦子全部给宰相还相差很多,甚至在全世界的土地上也不可能收获这么多的麦子。
这是怎么回事呢?实际上这是一个等比数列也称几何级数求前64项和的问题。
根据等比数列求前几项和的公式:。
其中a1是等比数列{an}的第一项,q是公比,n为项数。
而在该题中,a1=1,q=2,n=64,则:
这个数字是非常大的。
可见,古印度在很早以前就有了几何级数的思想。
在我国2000多年前的《易经》和《九章算术》等著作中,都包含了等比数列的内容。
指数塔增长的例子
指数塔增长的一个例子是棋盘上的麦粒。
古印度聪明的宰相西萨·班·达依尔发明了国际象棋,并将其进贡给了舍罕王。
舍罕王非常喜欢这个发明,决定对他进行奖赏,问他想要什么赏赐。
达依尔说:“陛下,您赏给我一些麦子吧。
放满这个棋盘就行。
第1格放1颗,第2格放2颗,第3格放4颗,每一格里的数量都比前一格增加一倍。
摆满
64格,我就心满意足了。
”
舍罕王欣然答应,然而随着麦粒的增加,他逐渐意识到整个国家的粮食储备都摆不满棋盘上的64格。
最终计算得出需要2^64-1粒麦子,这是一个非
常庞大的数字。
如果按照30克的千粒重估算,这些麦子总量超过5000亿吨。
这个数字庞大到难以想象,远超过了2021年的全球小麦总产量亿吨。
以上内容仅供参考,如需更多信息,可查阅指数增长的书籍或文献。
实践七国际象棋棋盘上的麦粒
1、实践目标
(1)理解循环语句的作用,能根据实际情况正确使用For语句与Do 语句。
(2)学会使用VB循环控制结构编写程序,实现简单的算法。
2、任务描述
在印度有一个古老的传说:舍
罕王打算奖赏国际象棋的发明
人——宰相西萨·班·达依尔。
国王问他想要什么。
他对国王
说:陛下,请您在这张棋盘
(图7-1)的第1个小格里,
赏给我1粒麦子,在第2个小
格里给2粒,第3小格给4粒,
以后每一小格都比前一小格加
1倍。
请您像这样摆满棋盘上所有64格的麦粒,都赏给您的仆人吧!国王觉得这个要求太容易满足了就命令给他这些麦粒。
当人们把一袋一袋的麦子搬来开始计数时,国王才发现:就是把全印度甚至全世界的麦粒全拿来,也满足不了那位宰相的要求。
那么,宰相要求得到的麦粒到底有多少呢?尝试设计一个程序来计算。
3、操作提示
(1)问题分析
本问题可用累加的方法来求解,即最后得到的麦粒数由每一格赏赐的麦粒数相加得到,而且相邻的格子要求得到赏赐的麦粒数也是有一定规律的,即后一格是前一覆盖麦粒数的2倍。
若用1表示当前所处的格子,p
表示此格子中应该赏赐的麦粒数,s表示累加得到的麦粒数,分析过程见表7-1。
表7-1
由表7-1的分析可得i= ,p= ,s= 。
(2)设计算法。
根据上面的分析,可画出算法流程图如下:
(3)程序实现。
①将下列根据上面算法编写的代码填写完整。
Private Sub Command1 Click( )
Dim n As Integer, i As Integer, p As Double, s As Double n=Val(Text1.Text)
s=0
p=1
For i= Ton
s=
p=
Next 1
Text2.Text=Str(s)
End Sub
②新建工程,创建窗体。
界面设计参照图7-2,属性设置参照表7-2。
表7-2 窗体中主要控件属性设置
③将上面完成的代码段输入到计算按钮的代码窗口中。
④调试运行程序。
[扩展与提高]
(4)请将以下用Do语句编写的程序填写完整,并注意对比两种循环语句的使用。
Private Sub Command1 Click( )
Dim n As Integer, i As Interger, p As Double, s As Double
n=Val(Text1. Text)
s=0
p=1
Do While i<=n
s=
p=
i=
Loop
Text2.Text=Str(s)
End Sub
(5)假如每颗麦粒的重量为0.2克,每人每天消耗0.5千克,算一算上面棋盘上的麦粒能供全球60亿人吃多少年?(先写出VB表达式再计算)。