123

123
mail@pastecode.io avatar
unknown
c_cpp
2 years ago
1.5 kB
1
Indexable
Never
#include<stdio.h>// thư viện chứa lệnh vào ra cơ bản ( nhập, xuất, …)
#include<math.h>// thư viện math, để sử dụng pow
float giaithua(int n) {//khởi tạo hàm giaithua với tham số n kiểu nguyên, trả về kiểu số thực
          int i,t=1;// khởi tạo i, t = 1 ( vì giai thừa = tích 1..n, nếu để 0 thì qua lặp t vẫn = 0 )
          for(i=1;i<=n;i++) {// i chạy 1 đến n
                t*=i;// t = t * i, lần lượt 1 -> n,
          }
          //kết thúc vòng lặp sẽ cho t = n !
          return t;//trả về n!
}
int main() {
      int n; // khởi tạo kiểu n số nguyên
      float s=1,x;// khởi tạo s = 1, n kiểu số thực
      do{
          printf("Nhap n va x: ");//in ra dòng thông báo  Nhap n va x:
          scanf("%d%f", &n,&x);// đọc vào 2 biến n và x cách nhau bởi dấu cách
          for(int i=0;i<=n;i++) {// cho i chạy từ 0 tới n để tính s
                   s += pow(-1,i+1) * (pow(x,2*i+1) / giaithua(2*i+1));
                    // pow (a,b) = a ^ b
                    // pow(-1,i+1)  : xác định dấu + hay -
                    //(pow(x,2*i+1) : tính tử số  x^(2i+1)
                    // giaithua(2*i+1) : tính mẫu số (2n+1)!
                   }
            printf("S(n)= %f", s);// đưa ra S(n) cần tìm
     }
     while(n<1);//n >= 1 mới tính, không thì bắt phải nhập lại
     return 0;
}