ปัญหา
โปรแกรมคำนวณผลรวมของนิพจน์ต่อไปนี้
Sum=1-n^2/2!+n^4/4!-n^6/6!+n^8/8!-n^10/10!
ผู้ใช้ต้องป้อนค่าของ n ที่รันไทม์เพื่อคำนวณผลรวมของอนุกรมโดยใช้กำลังของฟังก์ชันที่กำหนดไว้ล่วงหน้าซึ่งมีอยู่ในฟังก์ชันไลบรารีของ math.h
วิธีแก้ปัญหา
มีการอธิบายด้านล่างถึงวิธีการคำนวณผลรวมของอนุกรมโดยใช้ฟังก์ชันที่กำหนดไว้ล่วงหน้า
อัลกอริทึม
อ้างถึงอัลกอริทึมที่ระบุด้านล่างเพื่อคำนวณผลรวมของอนุกรมโดยใช้ฟังก์ชันที่กำหนดไว้ล่วงหน้า
ขั้นตอนที่ 1 − อ่านค่า num
ขั้นตอนที่ 2 − เริ่มต้นข้อเท็จจริง =1, ผลรวม =1 และ n =5
ขั้นตอนที่ 3 − สำหรับ i=1 ถึง n
<ก่อน> คำนวณข้อเท็จจริง =ข้อเท็จจริง*i ข. ถ้าฉัน %2 =0 ค แล้วถ้า i=2 หรือ i=10 หรือ i=6 d แล้ว sum+=-pow(num,i)/fact e. else sum+=pow(num,i)/fact 4. พิมพ์ผลรวมตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C คำนวณผลรวมของอนุกรมโดยใช้ฟังก์ชันที่กำหนดไว้ล่วงหน้า −
#include#include #include void main(){ int i,n=5,num; ยาวจริงจริง=1; ผลรวมลอย=1; printf("ป้อนค่า n:"); scanf("%d", &num); สำหรับ (i=1;i<=n;i++){ fact=fact*i; if(i%2==0){ ถ้า(i==2|i==10|i==6) sum+=-pow(num,i)/fact; อื่น sum+=pow(num,i)/fact; } } printf("sum is %f", sum);}
ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
ป้อนค่า n:10sum คือ 367.666656