Computer >> Máy Tính >  >> Lập trình >> lập trình C

Tính tổng của chuỗi 1.2.3 + 2.3. +… + N (n + 1) (n + 2) trong C

Tìm tổng đến n số hạng của dãy:1.2.3 + 2.3.4 +… + n (n + 1) (n + 2). Trong 1.2.3 này đại diện cho thuật ngữ đầu tiên và 2.3.4 đại diện cho thuật ngữ thứ hai.

Hãy xem một ví dụ để hiểu rõ hơn về khái niệm này,

Input: n = 5
Output: 420

Giải thích

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

số hạng thứ n =n (n + 1) (n + 2); trong đó n =1,2,3,…

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

Bây giờ, hãy lưu ý

Tính tổng =n (n + 1) / 2; nếu số hạng thứ n =n

=n (n + 1) (2n + 1) / 6; nếu số hạng thứ n =n ^ 2

=n ^ 2 (n + 1) ^ 2/4; nếu số hạng thứ n =n ^ 3

Do đó, số tiền bắt buộc =

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)

Có hai phương pháp để giải quyết vấn đề này,

Một bằng cách sử dụng công thức toán học và một bằng một vòng lặp.

Trong phương pháp công thức toán học , tổng công thức chuỗi cho chuỗi này được đưa ra.

Thuật toán

Đầu vào:n số phần tử.

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

Ví dụ

#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;
}

Đầu ra

The sum is : 756

Ví dụ

#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;
}

Đầu ra

The sum is : 756