ในปัญหานี้ เราได้รับตัวเลข n งานของเราคือสร้าง program tofind sum of series 1 + 1/2 + 1/3 + 1/4 + .. + 1/n ใน C++ .
คำอธิบายโค้ด − ที่นี่ เราจะหาผลรวมของอนุกรม 1 + 1/2 + 1/3 + 1/4 + .. + 1/n จนถึงเทอมที่ n ซีรีส์นี้เป็นซีรีส์ที่มีความก้าวหน้าแบบฮาร์มอนิก
ความก้าวหน้าของฮาร์มอนิก เป็นอนุกรมที่ผกผันจะเป็นความก้าวหน้าทางคณิตศาสตร์ เช่น. ถ้าสำหรับความก้าวหน้าแบบฮาร์มอนิก A1, A2, A3... An มีความก้าวหน้าทางคณิตศาสตร์ 1/A1, 1/A2, 1/A3
อันดับแรก มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน
อินพุต
n = 5
ผลลัพธ์
2.59286
คำอธิบาย
ผลรวม =1 + ½ + ⅓ + ¼ + ⅕ + ⅙ + 1/7 =2.59286
แนวทางการแก้ปัญหา
ในการแก้ปัญหา เราจะใช้ลูปเนื่องจากไม่มีสูตรเฉพาะสำหรับผลรวมของ HP
อัลกอริทึม
เริ่มต้น − sumVal =0;
- ขั้นตอนที่ 1 − วนรอบสำหรับ i -> 1 ถึง n.
- ขั้นตอนที่ 1.1 − อัปเดต sumVal, sumVal +=1/i.
- ขั้นตอนที่ 2 − พิมพ์ sumVal
โปรแกรมเพื่อแสดงการทำงานของโซลูชันของเรา
ตัวอย่าง
#include <iostream> using namespace std; float calcSeriesSum(int n){ float sumVar = 0.00; for(float i = 1; i <= n; i++){ sumVar += (1/i); } return sumVar; } int main(){ int n = 7; cout<<"The sum of series till "<<n<<" is "<<calcSeriesSum(n); return 0; }
ผลลัพธ์
The sum of series till 7 is 2.59286