Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++를 사용하여 오각형 피라미드 수 찾기

<시간/>

오각형 피라미드 수는 오각형 기본 피라미드의 항목 수와 같습니다. 아래의 오각형 숫자를 보십시오.

C++를 사용하여 오각형 피라미드 수 찾기

N이 N번째 오각 피라미드 수와 같을 때까지 오각형 수의 합. 이 기사에서는 예를 들어 N번째 오각형 피라미드 번호를 찾는 방법에 대해 설명합니다.

Input : N = 4
Output : 40
Explanation : Sum of first four pentagonal numbers 1, 5, 12, 22 is 40.

Input : N = 6
Output : 126
Explanation : Sum of first four pentagonal numbers 1, 5, 12, 22, 35, 51 is 40.

해결책을 찾기 위한 접근 방식

간단한 접근

예에 따라 가장 간단한 접근 방식이 떠오릅니다. 1에서 N까지 숫자를 탐색하고 오각형 숫자를 계속 추가하는 것입니다. 오각형 수는 공식 (3 * n2 - n) / 2

로 찾을 수 있습니다.

예:n =2인 경우 오각형 수 =(3 * 22 - 2)/2 =5

#include <bits/stdc++.h>
using namespace std;

int main () {
   int N = 6, SUM = 0;

   // traversing from number 1 to N.
   for (int i = 1; i <= N; i++) {
      // Calculating ith pentagonal number
      // and adding to the SUM.
      SUM = SUM + (3 * i * i - i) / 2;
   }
   cout <<"Nth Pentagonal Pyramidal Number: "<< SUM << endl;
   return 0;
}

출력

Nth Pentagonal Pyramidal Number: 126

효율적인 접근

이 프로그램은 수식을 사용하여 n2 * (n + 1) / 2인 N 오각 피라미드 수를 구함으로써 효율적일 수 있습니다.

#include <bits/stdc++.h>
using namespace std;

int main() {
   int N = 6, result;
   // calculating Nth pentagonal pyramidal number by formula.
   result = N * N * (N + 1) / 2;
   cout <<"Nth Pentagonal Pyramidal Number: " << result << endl;
   return 0;
}

출력

Nth Pentagonal Pyramidal Number: 126

결론

이 기사에서 우리는 N번째 오각 피라미드 수를 찾는 문제에 대해 논의했습니다. 우리는 이 문제를 해결하기 위한 두 가지 접근 방식에 대해 논의했습니다. N번째 숫자까지 탐색하고 공식을 사용하는 것입니다. 우리는 또한 동일한 문제를 해결하기 위해 C++ 프로그램에 대해 논의했습니다. C, Java, Python 등과 같은 다른 프로그래밍 언어로 동일한 코드를 작성할 수 있습니다. 이 기사가 도움이 되기를 바랍니다.