当前位置: 首页 > news >正文

【GESP 一级】洛谷 B4410 金字塔 题解

一、题目概述

本题是GESP 2025 年 9 月一级认证真题,对应洛谷题号 B4410,是入门阶段的经典循环累加题,核心是计算平方和。

题目可以简化为:输入金字塔的层数n,计算从的平方和(即1² + 2² + 3² + … + n²)。

  • 样例 1:n=2 → 1²+2²=1+4=5;
  • 样例 2:n=5 → 1+4+9+16+25=55。

二、核心考察点

这道题覆盖了 GESP 一级的多个高频考点,是循环与累加的基础应用:

考点考察内容难度
基础输入输出读取一个整数并输出结果
for循环结构遍历 1 到 n 的所有整数⭐⭐
累加求和逻辑用变量记录平方和⭐⭐
整数运算计算平方(i*i)与累加⭐⭐

三、解题思路分析

1. 核心逻辑拆解

题目要求计算的是平方和:1² + 2² + … + n²,解题步骤如下:

  1. 初始化总和变量sum = 0
  2. for循环从1遍历到n
  3. 每次循环计算当前数字的平方i*i,并累加到sum中;
  4. 循环结束后,输出sum

2. 数学公式优化(进阶)

平方和有通用公式:

这个公式可以直接一步算出结果,无需循环,效率更高。

  • 样例 1:n=2 →2×3×5/6 = 30/6 = 5✔️
  • 样例 2:n=5 →5×6×11/6 = 330/6 = 55✔️

四、完整解题流程

方法 1:循环累加(新手推荐,逻辑直观)

  1. 读取层数n
  2. 初始化sum = 0
  3. for (int i = 1; i <= n; i++),每次sum += i*i
  4. 输出sum

方法 2:公式直接计算(进阶写法)

  1. 读取层数n
  2. 用公式计算:sum = n * (n + 1) * (2 * n + 1) / 6
  3. 输出sum

五、易错点提醒(考试避坑)

  1. 循环起点错误循环必须从1开始,不能从0开始,否则会多计算0²=0,虽然结果不变,但逻辑不严谨。

  2. 累加变量初始化错误sum必须初始化为0,否则会包含随机值,导致结果错误。

  3. 公式计算的整数溢出题目中n≤5050×51×101=257550,在int范围内(最大约 2e9),不会溢出;如果n更大,需要用long long类型存储。

  4. 边界值测试

    • n=1:结果为1
    • n=50:结果为50×51×101/6 = 42925

六、完整 C++ 代码

写法 1:循环累加版(新手友好)

#include <iostream> using namespace std; int main() { int n; cin >> n; int sum = 0; for (int i = 1; i <= n; ++i) { sum += i * i; // 累加当前层数的平方 } cout << sum << endl; return 0; }

写法 2:公式计算版(高效简洁)

#include <iostream> using namespace std; int main() { int n; cin >> n; // 平方和公式:n(n+1)(2n+1)/6 int sum = n * (n + 1) * (2 * n + 1) / 6; cout << sum << endl; return 0; }

七、扩展练习(举一反三)

学会这道题的核心逻辑后,可以试试以下扩展练习,巩固循环累加与数列求和能力:

练习 1:立方和计算

题目变形:输入n,计算1³ + 2³ + … + n³的和。

  • 提示:循环累加i*i*i,或使用公式(n(n+1)/2)²

练习 2:奇数平方和

题目变形:输入n,计算前n个奇数的平方和(如 n=3:1²+3²+5²)。

  • 提示:循环变量i从 1 开始,每次加 2,累加i*i

练习 3:金字塔倒序求和

题目变形:输入n,计算n² + (n-1)² + … + 1²的和(和原题结果相同)。

  • 提示:循环从n遍历到1,逻辑和原题一致。

练习 4:双重循环打印金字塔

题目变形:输入n,打印一个数字金字塔,如 n=3:

1 2 2 3 3 3
  • 提示:外层循环控制行数,内层循环控制空格和数字输出。

练习 5:金字塔砖块统计扩展

题目变形:金字塔每层的石块数是连续奇数(1, 3, 5, …),输入n,求总石块数。

  • 提示:前n个奇数的和是,也可以循环累加2*i-1

八、总结

这道题的核心是循环累加与平方和计算,是 GESP 一级中非常典型的数列求和基础题。

通过这道题,你不仅掌握了循环累加的基本用法,还了解了平方和的数学公式,这种 “循环实现” 和 “公式优化” 的对比思维,对后续学习算法非常有帮助。

http://www.jsqmd.com/news/740473/

相关文章:

  • 【Python高频交易引擎性能跃迁指南】:从200μs到8μs的5大底层优化实战(附实测数据)
  • 3大优势:揭秘跨平台网络资源下载神器的完整使用攻略
  • Windows任务栏美化神器:3分钟掌握TranslucentTB透明化终极指南
  • 国家自然科学基金LaTeX模板:5分钟极速排版终极指南
  • 别只盯着代码!用蓝桥杯单片机赛题,手把手教你理解硬件编程的核心:状态机与定时器
  • 快速原型:用快马平台十分钟构建vcruntime140.dll诊断修复工具
  • 2026东莞企业劳动法律顾问:群体性争议处置优选律所 - 速递信息
  • DSM7.0存储池避坑指南:SHR、RAID5、RAID10到底怎么选?附真实容量计算
  • 革命性二次元游戏模组管理平台:一键解决模组安装所有痛点
  • 从0到1改造LLaMA-Factory:自定义训练策略与插件开发-方案选型对比
  • 手把手教你用Multi ElasticSearch Head插件搞定索引的增删改查(附Restful API对照)
  • Python跨端打包体积暴降73%?揭秘Nuitka+PyInstaller双引擎协同优化的3个临界点
  • SOCD Cleaner终极指南:内核级键盘输入仲裁技术深度解析
  • Blender 4.0 流体模拟避坑指南:从‘穿模’到渲染慢的7个常见问题解决
  • DiffDock环境配置避坑大全:从CUDA 11.7到torch_geometric,一次搞定所有依赖(附问题排查)
  • 论文 AI 率降不下来不是工具问题。2026 降 AI 软件排行换个排序逻辑看。 - 我要发一区
  • BepInEx插件框架技术深度解析:Unity游戏模块化扩展实战指南
  • 如何在15分钟内搭建专属的H5可视化编辑器?一份完整的H5Maker实战指南
  • 35 年后!1991 年 Adobe PostScript 解释器在浏览器运行,还打破多项限制
  • 如何快速上手开源H5编辑器:零代码制作精美移动页面的完整指南
  • R自动化报告权限失控真相(内部泄露事件复盘):`fs::path_real()`绕过、`here::here()`硬编码、`config::get()`明文密钥——4小时紧急修复SOP
  • 使用taotoken为ubuntu上的openclaw工具配置聚合api端点
  • 广西空压机源头厂家领军者:格朗科技如何用65亿实力与20年匠心重塑工业标杆 - 速递信息
  • 基于 Taotoken 与 Claude Code 打造个人编程辅助工作流应用场景
  • 一天一个开源项目(第89篇):Warp - AI 驱动的现代化 Rust 终端
  • 大模型评估实战:从基准测试到业务落地的系统工程指南
  • 从“被动养老”到“主动享老”
  • 计算几何板子
  • 3分钟学会:如何在浏览器中解密RPG Maker游戏资源
  • 用STC89C52RC和74HC595驱动8×8点阵,从硬件接线到动画显示,一个视频全搞定