✏️ 纠错
第 141 题 / 共 155 题
题目描述
金字塔由 n 层石块垒成。从塔底向上,每层依次需要 n×n,(n−1)×(n−1),⋯,2×2,1×1 块石块。请问搭建金字塔总共需要多少块石块?
输入格式
一行,一个正整数 n,表示金字塔的层数。
输出格式
一行,一个正整数,表示搭建金字塔所需的石块数量。
输入输出样例
输入 #1
2
输出 #1
5
输入 #2
5
输出 #2
55
说明/提示
对于所有测试点,保证 1≤n≤50。
你真棒!
📝 题目解析
考纲知识点
循环结构、基本运算、输入输出语句
解题思路
-
第 1 层(最底层)需要 n² 块石块
-
第 2 层需要 (n-1)² 块
-
...
-
第 n 层(顶层)需要 1² 块
-
总石块数公式:ans = n² + (n-1)² + (n-2)² +……+2² +1²
-
实现方法:
-
方法一:for 循环遍历 1~n,每次加上 i*i 即可
-
方法二:直接使用平方和求和公式:(n(n+1)(2n+1))/6
-
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int ans = 0;
for (int i = 1; i <= n; i++) {
ans += i * i;
}
cout << ans << endl;
return 0;
}