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

C의 계열 1.2.3 + 2.3.+ … + n(n+1)(n+2)의 합

<시간/>

급수의 n항까지 합을 구합니다:1.2.3 + 2.3.4 + … + n(n+1)(n+2). 여기에서 1.2.3은 첫 번째 항을 나타내고 2.3.4는 두 번째 항을 나타냅니다.

개념을 더 잘 이해할 수 있도록 예를 살펴보겠습니다.

Input: n = 5
Output: 420

설명

1.2.3 + 2.3.4 + 3.4.5 + 4.5.6 + 5.6.7 =6 + 24 + 60 + 120 + 210 =420

n번째 항 =n(n+1)(n+2); 여기서 n =1,2,3,…

=n(n^2+3n+2)=n^3 +3n^2 +2n

자, 참고

합계 =n(n+1)/2; n번째 항 =n

인 경우

=n(n+1)(2n+1)/6; n번째 항 =n^2

인 경우

=n^2(n+1)^2/4; n번째 항 =n^3

인 경우

따라서 필요한 합계 =

n^2(n+1)^2 /4 + 3 ×n(n+1)(2n+1)/6 +2 × n(n+1)/2

=n^2 (n+1)^2 /4 +n(n+1)(2n+1)/2 + n(n+1)

=n(n+1) { n(n+1)/4 + (2n+1)/2 +1 }

=n(n+1) { (n^2 +n +4n+2 +4)/4}

=1/4 n(n+1){ n^2+5n+6}

=1/4 n(n+1)(n+2)(n+3)

이 문제를 해결하는 두 가지 방법이 있습니다.

하나는 수학 공식을 사용하고 다른 하나는 루프를 사용합니다.

수학적 공식 방법에서 , 이 시리즈에 대한 시리즈 공식의 합이 제공됩니다.

알고리즘

입력:n 요소 수.

Step 1 : calc the sum,
   sum = 1/4{n(n+1)(n+2)(n+3)}
Step 2 : Print sum, using standard print method.

예시

#include <stdio.h>
#include<math.h>
int main() {
   float n = 6;
   float area = n*(n+1)*(n+2)*(n+3)/4;
   printf("The sum is : %f",area);
   return 0;
}

출력

The sum is : 756

예시

#include <stdio.h>
#include<math.h>
int main() {
   float n = 6;
   int res = 0;
   for (int i = 1; i <= n; i++)
      res += (i) * (i + 1) * (i + 2);
   printf("The sum is : %d",res);
   return 0;
}

출력

The sum is : 756