**
十二届蓝桥杯Python组1月中/高级试题 第三题
**
第三题(难度系数 3,25 个计分点)
提示信息:
有一堆砖,需要按照一定规律进行堆放,具体堆放规律如下:
顶层放1块砖,
第二层放3块砖,
第三层放6块砖,
第四层放10块砖,
…
依此类推,每一层砖块的数量为上一层砖块数量加上本层的层数。例如第五层为10+5=15。
输入砖块堆放的总层数,按照以上规律,求出砖块的总数。
编程实现:
输入砖块堆放的总层数,按照以上堆放规律,求出砖块的总数。
例如:输入为3,总层数为3层的砖块堆放一共有1+3+6=10块砖,则输出10。
此题的规律就是一句话:每一层砖块的数量为上一层砖块数量加上本层的层数
比如第二层的砖块数目就是 第一层的砖块数目 加上 2(第二层);结果就是3 = 1 + 2
题目问的是输入一个层数的值求整个叠砖块总的砖块数目:所以我们需要设置一个变量求和操作,完成求出总的砖块数目
# 进行层数的输入
ceng_shu = input()
# 将输入的字符串数据类型转化为整数类型
ceng_shu = int(ceng_shu)
# 记录总的砖块数
sum_block = 0
# 记录每一层的砖块数目 每一层的数目是不断变化的
each_ceng = 1
# ceng_shu + 1 是为了遍历到最后那一层的数目
# 从2开始是因为在sum_block += each_ceng已经算是完成了第一层的相加
for i in range(2, ceng_shu + 1):
# 每一层的砖块进行相加的操作
sum_block += each_ceng
# 每一层进行增加 : 每一层砖块的数量为上一层砖块数量加上本层的层数
# i表示的是本层的层数
each_ceng = each_ceng + i
# 最后加上循环当中没有完成最后一层的相加
sum_block += each_ceng
print(sum_block)