Vấn đề
Chương trình tính tổng của biểu thức sau
Sum=1-n^2/2!+n^4/4!-n^6/6!+n^8/8!-n^10/10!
Người dùng phải nhập giá trị của n trong thời gian chạy để tính tổng của chuỗi bằng cách sử dụng hàm lũy thừa được xác định trước có trong hàm thư viện math.h.
Giải pháp
Dưới đây là giải thích cách tính tổng của chuỗi bằng hàm xác định trước.
Thuật toán
Tham khảo thuật toán đưa ra bên dưới để tính tổng của chuỗi bằng cách sử dụng hàm xác định trước.
Bước 1 - Đọc giá trị num
Bước 2 - Khởi tạo fact =1, sum =1 và n =5
Bước 3 - for i =1 to n
a. compute fact= fact*i b. if i %2 = 0 c. then if i=2 or i=10 or i=6 d. then sum+= -pow(num,i)/fact e. else sum+=pow(num,i)/fact 4. print sum
Ví dụ
Sau đây là chương trình C để tính tổng của chuỗi bằng cách sử dụng hàm được xác định trước -
#include<stdio.h> #include<conio.h> #include<math.h> void main(){ int i,n=5,num; long int fact=1; float sum=1; printf("Enter the n value:"); scanf("%d", &num); for(i=1;i<=n;i++){ fact=fact*i; if(i%2==0){ if(i==2|i==10|i==6) sum+= -pow(num,i)/fact; else sum+=pow(num,i)/fact; } } printf("sum is %f", sum); }
Đầu ra
Khi chương trình trên được thực thi, nó tạo ra kết quả sau -
Enter the n value:10 sum is 367.666656