Heim >Backend-Entwicklung >C++ >Übersetzen Sie Folgendes ins Chinesische: Lösen Sie die Summe der Folge 1.2.3 + 2.3 + ... + n(n+1)(n+2) in C
Finden Sie die Summe von n Termen der Reihe: 1.2.3 + 2.3.4 + … + n(n+1)(n+2). Unter diesen stellt 1.2.3 den ersten Punkt und 2.3.4 den zweiten Punkt dar.
Sehen wir uns ein Beispiel an, um dieses Konzept besser zu verstehen,
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 Elemente = n(n+1)(n+2); wobei n = 1,2,3,…
= n(n^2+3n+2)=n^3 +3n^2 +2n
Beachten Sie nun, dass die Summe von p>
=n(n+1)/2; wenn das n-te Element=n
=n(n+1)(2n+1)/6; wenn das n-te Element=n ^ ist 2
=n^2(n+1)^2/4; wenn n-tes Element=n^3
also die erforderliche Summe=
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)
Es gibt zwei Möglichkeiten, dieses Problem zu lösen:
Eine besteht darin, mathematische Formeln zu verwenden, und die andere darin, eine Schleife durchzuführen.
Bei der mathematischen Formelmethode wird die Reihensummierungsformel dieser Reihe angegeben.
Eingabe: n Anzahl Elemente.
Step 1 : calc the sum, sum = 1/4{n(n+1)(n+2)(n+3)} Step 2 : Print sum, using standard print method.
Echtzeit-Demonstration
#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
Echtzeit-Demonstration
#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
Das obige ist der detaillierte Inhalt vonÜbersetzen Sie Folgendes ins Chinesische: Lösen Sie die Summe der Folge 1.2.3 + 2.3 + ... + n(n+1)(n+2) in C. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!