堆放砖块-第12届蓝桥杯选拔赛Python真题精选

news2024/10/6 10:37:07

[导读]:超平老师的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世纪,毕达哥拉斯学派在研究数的概念时,常常把数描绘成沙滩上的小石子,用它们进行各式各样的排列和分类,叫做“形数”。

他们发现数目为1,3,6,10,15,21……这些数量的石子,都可以排成三角形,像这样的数称为三角形数。

例如,前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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1583562.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SuperMap GIS基础产品FAQ集锦(202403)

一、SuperMap GIS基础产品桌面GIS-FAQ集锦 问题1&#xff1a;【iDesktop】安装了idesktop 11i&#xff0c;现想进行插件开发&#xff0c;根据安装指南安装SuperMap.Tools.RegisterTemplate.exe&#xff0c;运行多次均失败 【问题原因】该脚本是之前老版本针对VS2010写的&…

亚信安慧AntDB:点亮数据灯塔

亚信安慧AntDB 是国产的分布式数据库&#xff0c;它具备快速发展的潜力。随着互联网技术的迅猛发展&#xff0c;大数据时代的到来&#xff0c;数据库的需求不断增长。在这样的背景下&#xff0c;国产分布式数据库正逐渐崭露头角&#xff0c;AntDB作为其中的重要代表&#xff0c…

MySQL学习笔记(数据类型, DDL, DML, DQL, DCL)

Learning note 1、前言2、数据类型2.1、数值类型2.2、字符串类型2.3、日期类型 3、DDL总览数据库/表切换数据库查看表内容创建数据库/表删除数据库/表添加字段删除字段表的重命名修改字段名&#xff08;以及对应的数据类型&#xff09; 4、DML往字段里写入具体内容修改字段内容…

Android输入框架

输入是一个操作系统的重要组成部分&#xff0c;没有输入&#xff0c;用户就无法向系统发送指令&#xff0c;也就没法完成人机交互。在Android系统中&#xff0c;输入系统是不可缺少的&#xff0c;下面简单介绍输入系统的整体框架&#xff0c;以下内容参考清华出版社出版的《And…

[react] useRef场景

1.记忆功能 -- 清定时器 先看和useState的差别 代码如下 不断地开启定时器 加上缓存就行,这样每次都是它 2.获取dom节点 当然!你可以直接在模板上面写函数! 函数变种也是可以的 你想获取整个组件也是没问题的 import React, { useRef, forwardRef } from "react";…

uniapp 2.0可视化开发工具高级事件使用技巧探索

摘要 随着移动应用市场的不断扩大和前端技术的飞速发展&#xff0c;开发者们对于快速、高效构建跨平台应用的需求日益增强。uniapp作为一款优秀的跨平台应用开发框架&#xff0c;凭借其强大的功能和易用的特性&#xff0c;赢得了广大开发者的青睐。在uniapp 2.0版本中&#xf…

ht1622不显示无反应问题解决

如果你正在写ht1622 驱动时&#xff0c;怎么看程序都没问题&#xff0c;抓取波形&#xff0c;示波器分析波形&#xff0c;如果都没有问题&#xff0c;那么很大可能是硬件问题&#xff0c;检测看看 ht1622 RD是不是接地了。 RD 低会进入读取模式&#xff0c;所以不用RD 请将RD悬…

基于Java+SpringBoot+Vue养老院管理系统(源码+文档+部署+讲解)

一.系统概述 随着信息时代的来临&#xff0c;过去的传统管理方式缺点逐渐暴露&#xff0c;对过去的传统管理方式的缺点进行分析&#xff0c;采取计算机方式构建养老院管理系统。本文通过课题背景、课题目的及意义相关技术&#xff0c;提出了一种社区活动、活动记录、床位信息、…

C++类与对象上(个人笔记)

类与对象 1.面向过程和面向对象初步认识2.类的定义3.类的访问限定符及封装3.1 访问限定符 4.封装5.类的实例化6.类对象6.1类对象的内存计算6.2内存对齐规则&#xff08;回顾&#xff09; 7.this指针7.1 this指针的特性 1.面向过程和面向对象初步认识 C语言是面向过程的&#x…

RabbitMQ安装延时插件

下载延迟插件 在 RabbitMQ 的 3.5.7 版本之后&#xff0c;提供了一个插件&#xff08;rabbitmq-delayed-message-exchange&#xff09;来实现延迟队列 &#xff0c;同时需保证 Erlang/OPT 版本为 18.0 之后。 我这里 MQ 的版本是 3.10.0 现在去 GitHub 上根据版本号下载插件 链…

Go第三方框架--ants协程池框架

1. 背景介绍 1.1 goroutine ants是站在巨人的肩膀上开发出来的&#xff0c;这个巨人是goroutine&#xff0c;这是连小学生都知道的事儿&#xff0c;那么为什么不继续使用goroutine(以下简称go协程)呢。这是个思考题&#xff0c;希望讲完本文大家可以有个答案。 go协程只涉及用…

Echarts柱状图多样式实现

样式一 样式二 在这里插入代码片

MATLAB 点云体素滤波 (58)

MATLAB 体素滤波 (58) 一、基本原理二、算法实现1.代码数据的海量性始终是点云处理时需要面临的一个大问题,严重的时间消耗和内存占用影响了点云处理的发展,当然了,点云数量主要应该看项目的实际需求,若是对细节要求较高,那么点云数量不可过少,但是要求过低时,我们就可…

蓝桥杯——16

学习视频&#xff1a;17-深搜的剪枝策略视频讲解_哔哩哔哩_bilibili #include<iostream> #include<cstring> using namespace std; int n, m; string maze[110]; bool vis[110][110]; int dir[4][2] { {0,1},{0,-1},{1,0},{-1,0} }; int ans 100000; bool in(in…

CesiumJS内置三维数字地球,你都不知道效果有多炫酷。

CesiumJS是一个开源的JavaScript库&#xff0c;用于在Web浏览器中创建高性能的3D地球和地理空间应用程序。它提供了强大的工具和API&#xff0c;使开发者能够构建具有交互性、可视化和地理空间分析功能的应用。 以下是CesiumJS的一些主要特点和功能&#xff1a; 3D地球可视化&…

win11 连接海康摄像头 ONVif协议

目录 Win 11 通过脚本打开自带的IE浏览器访问海康摄像头 海康摄像头设置支持onvif协议 安装onvif协议 onvif协议示例代码 Win 11 通过脚本打开自带的IE浏览器访问海康摄像头 第一步、桌面右键新建一个 txt 的文档 第二步、打开文档并且复制粘贴下面代码 CreateObject(&…

reids-AOF(Append Only File)持久化使用方法

一&#xff0c;什么是AOF&#xff08;Append Only File&#xff09; 将我们所有的命令都记录下来&#xff0c;history&#xff0c;恢复的时候就把这个文件全部再执行一遍 以日志的形式来记录每个写的操作&#xff0c;将Redis执行过的所有指令记录下来&#xff08;读操作不记录&…

vue项目node版本问题

1. 启动项目报错 2. 解决 &#xff08;1&#xff09;更新依赖 npm install --legacy-peer-deps &#xff08;2&#xff09;如果不行就重装node node版本为14.15.1 sass版本为 node-sass": "^6.0.1" "sass-loader": "^6.0.…

Go语言实现Redis分布式锁2

项目地址: https://github.com/liwook/Redislock 1.支持阻塞式等待获取锁 之前的是只尝试获取一次锁&#xff0c;要是获取失败就不再尝试了。现在修改为支持阻塞式等待获取锁。 添加LockOptions结构体 添加option.go文件。 在LockOptions中 isBlock表示是否是阻塞模式blo…

Mysql底层原理六:InnoDB 数据页结构

1.行格式 1.1 Compact行格式 1.1.1 示意图 1.1.2 准备一下 1&#xff09;建表 mysql> CREATE TABLE record_format_demo (-> c1 VARCHAR(10),-> c2 VARCHAR(10) NOT NULL,-> c3 CHAR(10),-> c4 VARCHAR(10)-> ) CHARSETascii ROW_FORMATCOM…