Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++로 n번째 오각형 수(Pentagonal Number) 구하기

이 튜토리얼에서는 n번째 오각형 수(pentagonal number)를 구하는 프로그램을 C++로 작성해 보겠습니다.

오각형 수란?

오각형 수는 점이나 조약돌을 정오각형 모양으로 배열했을 때 표현되는 수를 의미합니다. 오각형 수는 다각형 수(polygonal number)의 한 종류로, 각 단계마다 새로운 층이 바깥쪽으로 추가되는 형태로 늘어납니다. 시각적인 이해를 돕기 위해 위키백과의 다각형 수 문서를 참고하는 것도 좋습니다.

n번째 오각형 수는 다음 공식으로 계산할 수 있습니다.

P(n) = (3 × n² − n) / 2

오각형 수열은 1, 5, 12, 22, 35, 51, 70, 92... 순서로 이어집니다.

알고리즘

  • 숫자 n을 초기화합니다.
  • 공식 (3 × n² − n) / 2를 사용하여 n번째 오각형 수를 계산합니다.
  • 결과값을 출력합니다.

C++ 구현

다음은 위 알고리즘을 C++로 구현한 코드입니다.

#include<bits/stdc++.h>

using namespace std;

int getNthPentagonalNumber(int n) {
   return (3 * n * n - n) / 2;
}
int main() {
   int n = 7;
   cout << getNthPentagonalNumber(n) << endl;
   return 0;
}

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

70

n에 7을 입력했을 때, 공식에 따라 (3 × 49 − 7) / 2 = 140 / 2 = 70이 계산되어 일곱 번째 오각형 수인 70이 출력됩니다.