✏️ 纠错
第 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. 第 1 层(最底层)需要 n² 块石块

  2. 第 2 层需要 (n-1)² 块

  3. ...

  4. 第 n 层(顶层)需要 1² 块

  5. 总石块数公式:ans = n² + (n-1)² + (n-2)² +……+2² +1²

  6. 实现方法:

    • 方法一: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;
}