如何做繁体字网站,公司网站开发项目管理制度,网页设计与制作模板图片,平面设计软件哪个好用[导读]#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后#xff0c;受到了广大老师和家长的好评#xff0c;非常感谢各位的认可和厚爱。作为回馈#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》#xff0c;这是解读系列的第47讲。
堆放砖块#xf…
[导读]超平老师的Scratch蓝桥杯真题解读系列在推出之后受到了广大老师和家长的好评非常感谢各位的认可和厚爱。作为回馈超平老师计划推出《Python蓝桥杯真题解析100讲》这是解读系列的第47讲。
堆放砖块本题是2021年1月23日举办的第12届蓝桥杯青少组Python编程选拔赛真题题目要求编程计算按照一定规律进行堆放砖块的总数量。
先来看看题目的要求吧。
一.题目说明
提示信息
有一堆砖需要按照一定规律进行堆放具体堆放规律如下
顶层放1块砖
第二层放3块砖
第三层放6块砖
第四层放10块砖
......
依此类推每一层砖块的数量为上一层砖块数量加上本层的层数。例如第五层为10 5 15。
输入砖块堆放的总层数按照以上规律求出砖块的总数。
编程实现
输入砖块堆放的总层数按照以上堆放规律求出砖块的总数。
例如输入为3总层数为3层的砖块堆放一共有1 3 6 10块砖则输出10。
输入描述
输入一个正整数N(2 N 1000)作为砖块堆放的总层数
输出描述
输出砖块的总数
样例输入
3
样例输出
10
二.思路分析
这是一道简单的计算题考查的知识点主要是循环和变量。
古希腊毕达哥拉斯学派提出“万物皆数”他们很重视数学企图用数来解释一切。公元前6世纪毕达哥拉斯学派在研究数的概念时常常把数描绘成沙滩上的小石子用它们进行各式各样的排列和分类叫做“形数”。
他们发现数目为136101521……这些数量的石子都可以排成三角形像这样的数称为三角形数。
例如前4个三角形数可以排成如下三角形 题目中的堆放砖块规律和三角形数完全一样我们需要分析数字的增长规律分析过程如下
T2 - T1 3 - 1 2T3 - T2 6 - 3 3T4 - T3 10 - 6 4T5 - T4 15 - 10 5......
不难发现前后两项的差是一个自然数列在数学中这种数列被称作二级等差数列或者差等差数列。
对于二级等差数列问题典型的思路就是设置一个变量表示公差在循环过程中不断地改变公差这样就可以计算出每一项的值。
思路有了接下来我们就进入具体的编程实现环节。
三.编程实现
根据上面的思路分析我们编写程序如下 代码不多强调两点
1). 这里的a表示当前层的砖块数量d表示公差s表示总和循环时首先将当前层的砖块a进行累加然后增加公差再计算出下一层的砖块数量
2). 由于第2层和第1层相差为2所以将公差d的初始值设为1并在循环中先将公差加1再计算砖块数量当然你也可以设置为不同的初始值和顺序只要确保公差从2开始增加即可。
至此整个程序就全部完成了你也可以输入不同的层数来测试效果。
四.总结与思考
本题代码在10行左右涉及到的知识点包括 循环语句主要for...in循环 输入输出 变量的使用
本题难度一般属于典型的循环累加题目。关键在于如何找到砖块递增的规律从而计算出每一层的砖块数量然后进行累加。
在实际比赛时很多同学会遇到两个小麻烦一是找不到砖块增加的规律二是找到了规律但不知道如何计算每一层的砖块。
针对对一个问题说明平时在数学课上练习得不够。实际上在小学二、三年级的课本中有大量的数列找规律题目比较典型的有等差数列、等比数列和斐波那契数列。
对于第二个问题还是要灵活运用计算思维中的拆分思想将复杂问题分解成多个简单的问题。由于每一层的砖块数量不能直接得出不妨使用变量表示先计算出每一层的砖块数量然后考虑累加问题如此一来问题就变简单了。
超平老师给你留一道思考题除了三角形数你还知道有哪些其它形数吗它们又有什么样的特点呢
你还有什么好的想法和创意吗也非常欢迎和超平老师分享探讨。
如果你觉得文章对你有帮助别忘了点赞和转发予人玫瑰手有余香
需要源码的可以移步至“超平的编程课”gzh。