작성일 :

문제 링크

5341번 - Pyramids

설명

간단한 수학 문제입니다.

가장 아래 단계의 블록 개수가 n 개라면, 총 피라미드의 블록 개수는 다음과 같은 등차수열의 합으로 나타낼 수 있습니다.

총 블록 개수 = n + (n - 1) + (n - 2) + ... + 1

일반항을 구하면 다음과 같습니다.

총 블록 개수(n) = n * (n + 1) / 2

해당 공식에 따라서 계산한 후 적절히 출력합니다.


Code

[ C# ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
namespace Solution {
  class Program {
    static void Main(string[] args) {

      while (true) {
        var n = int.Parse(Console.ReadLine()!);

        if (n == 0) break;

        var totalBlocks = n * (n + 1) / 2;
        Console.WriteLine(totalBlocks);
      }
    }
  }
}



[ C++ ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <bits/stdc++.h>

using namespace std;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  while (true) {
    int n; cin >> n;

    if (n == 0)
      break;

    int totalBlocks = n * (n + 1) / 2;
    cout << totalBlocks << "\n";
  }

  return 0;
}