博客
关于我
第七届蓝桥杯(软件类)省赛C++B组真题题解
阅读量:218 次
发布时间:2019-02-28

本文共 922 字,大约阅读时间需要 3 分钟。

煤球数目

有一堆煤球,堆成三角棱锥形。具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),……如果一共有100层,共有多少个煤球?


解题思路

每一层的煤球数目形成一个数列,该数列的通项公式为 ( a_i = i(i+1)/2 )。要计算100层的总煤球数目,我们需要对该数列求和。

将数列拆分为 ( a_i = i^2 + i ),因此总和为:[S = \sum_{i=1}^{100} a_i = \sum_{i=1}^{100} \frac{i^2 + i}{2} = \frac{1}{2} \left( \sum_{i=1}^{100} i^2 + \sum_{i=1}^{100} i \right)]

利用已知的求和公式:[\sum_{i=1}^n i = \frac{n(n+1)}{2}, \quad \sum_{i=1}^n i^2 = \frac{n(n+1)(2n+1)}{6}]

代入 ( n = 100 ):[\sum_{i=1}^{100} i = \frac{100 \times 101}{2} = 5050][\sum_{i=1}^{100} i^2 = \frac{100 \times 101 \times 201}{6} = 338350]

因此:[S = \frac{338350 + 5050}{2} = \frac{343400}{2} = 171700]


代码

#include 
using namespace std;typedef long long ll;const int INF = 0x3f3f3f3f;const int maxn = 1e5 + 5;const int mod = 1e9 + 7;void solve() { int temp = 0, ans = 0; for (int i = 1; i <= 100; ++i) { temp += i; ans += temp; } cout << ans << endl;}

答案

171700

转载地址:http://vcsn.baihongyu.com/

你可能感兴趣的文章
python在使用HTMLTestRunner时,报告为空,错误提示<_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf_8'>...
查看>>
python在gpu上运行_【python】python开启GPU加速
查看>>
Python在def函数中使用for循环
查看>>
Python在def函数中使用for循环
查看>>
Python在Conda环境中,但在Windows虚拟环境中没有激活
查看>>
python系列【仅供参考】:python pip 错误 ModuleNotFoundError: No module named pip._internal 解决办法
查看>>
python图像条状状噪声,使用PYTHON PIL从验证码图像中删除背景嘈杂的线条
查看>>
Python图像处理:从内存加载jpeg
查看>>
python固定后缀(名物化词汇)词频统计:抽取+统计+可视化
查看>>
python商品评论数据采集与分析可视化系统 Flask框架 requests爬虫 NLP情感分析 毕业设计 源码
查看>>
python商品数据分析可视化系统(带爬虫)京东销售数据分析 计算机毕业设计 源码下载
查看>>
python商品库存管理系统 django框架 商品网站 MySQL数据库 源码下载 计算机毕业设计
查看>>
Python哪个版本最稳定好用2023.10.19
查看>>
Python和黑客技术的渊源
查看>>
Python和RF编写接口自动化
查看>>
python和js哪个难_【Python】记一次学习,Python 与 js 在实现闭包时的差异
查看>>
python和java哪个更值得学——来自知乎高赞回答
查看>>
python命名空间更改_Python模块xml.etree.ElementTree自动修改xml命名空间键
查看>>
Python命名中尾随下划线有什么好处?
查看>>
Python启动脚本
查看>>