Yêu cầu:
Nhập 1 số c > 0 (sai số) và 1 số thực x rồi tính : e^x = 1 + x/1! + x^2/2! + …+x^n/n!
Tổng được tính với n đủ lớn sao cho |x^n/n!| < c thỏa mãn.
Thuật toán:
– Tương tự như tính sinx, cosx, chúng ta sử dụng vòng lặp for() để giải quyết bài toán này.
Code:
/************************************************************ * Author: VNCODING * History * 2014/04/02 first create VNCODING *************************************************************/ #include "stdio.h" #include "conio.h" #include "math.h" long giaithua(int N); void main() { float x; // goc float c; // sai so float e = 1; float exp = 0; int n = 0; printf("\n Nhap x = "); scanf("%f", &x); printf("\n Nhap sai so = "); scanf("%f", &c); while(e >= c) { e = pow(float(x),n)/giaithua(n); // tinh sai so exp += e; n++; } printf("\n e^%f = %f", x, exp); getch(); } long giaithua(int N) { if(N == 0 || N == 1) return 1; else return N*giaithua(N-1); }
Kết quả:
Nhap x = 2 Nhap sai so = 0.0001 e^2.000000 = 7.389047
Leave a Reply
You must be logged in to post a comment.