Cần giúp đỡ tính giai thừa với vòng lặp for

x-(x^3/3!)+(x^5/5!)-(x^7/7!)+...(x^n/n!)

Viết pt tính tổng với n và x nhập từ phím. Em bị rắc rối ở phần tính giai thừa. Mong a/c giúp ạ!

giai thừa là factorials ah ?_? 5! = 5 x 4 x 3 x 2 x 1 ?

int factorial(int n){
          int result = 1;
          for(int i=1; i<=n; ++i)result = result * i;
          return result;
}

dùng recursive nhìn đẹp hơn

int factorial(int n){
          return n ? n*factorial(n-1) : 1;   
}
1 Like

Đây không phải nơi để bạn tìm người giải hộ bài tập. Nhưng trao đổi, thảo luận, tìm lời giải thì ok. :slight_smile:

Gợi ý

Bài toán thành tính tổng của dãy truy hồi từ a1 đến an với:

  • a1 = x
  • an = -an-1.x2 / ((2n-2).(2n-1)) với n > 1
3 Likes

hừm for i=0 to i<n/2 +1 by 1:
sum += -1^i * x^(2i+1) / (2i+1)!
cái này gần giống với taylor series của sinx
bạn có thể google taylor series sinx để xem cái công thức tính

1 Like

GỢI Ý:

S := x;
e := x;
for(i = 1; i< =n; i++)
{
    e := e * (x^2 / ((2*i)*(2*i+1));
    if (i%2==1)
        S := S - e;
    else
        S:= S + e ;
}

Đề này có chỗ k hợp lý là nếu n không phải là số lẻ lớn hơn 1 thì không có quy tắc chung.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?