Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ผลรวมของอนุกรม 1^1 + 2^2 + 3^3 + ... + n^n โดยใช้การเรียกซ้ำใน C++


ในปัญหานี้ เราได้รับตัวเลข n ซึ่งกำหนดพจน์ที่ n ของชุดข้อมูล 1^1 + 2^2 + 3^3 + … + n^n งานของเราคือสร้างโปรแกรมที่จะหาผลรวมของซีรีส์

มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน

ป้อนข้อมูล

n = 4

ผลผลิต

30

คำอธิบาย − ผลรวม =(1^1) + (2^2) + (3^3) + (4^4) =1 + 4 + 9 + 16 =30

เพื่อแก้ปัญหานี้ เราจะวนซ้ำจาก 1 ถึง n หากำลังสองของตัวเลขแต่ละตัว แล้วบวกแต่ละตัวในตัวแปรผลรวม

อัลกอริทึม

Initialize sum = 0
Step 1: Iterate from i = 1 to n. And follow :
   Step 1.1: Update sum, sum += i*i
Step 2: Print sum.

ตัวอย่าง

โปรแกรมเพื่อแสดงการทำงานของโซลูชันของเรา

#include <iostream>
using namespace std;
long long calcSeriesSum(int n) {
   long long sum = 0;
   for( int i = 1; i <= n; i++ )
   sum += (i*i);
   return sum;
}
int main() {
   int n = 7;
   cout<<"Sum of the series 1^1 + 2^2 + 3^3 + ... + "<<n<<"^"<<n<<" is "<<calcSeriesSum(n);
   return 0;
}

ผลลัพธ์

Sum of the series 1^1 + 2^2 + 3^3 + ... + 7^7 is 140