Tìm lỗi cho bài toán F= x^n/n! với n là số thực

int main()
{
    int x,i,t;
    float f,n;
    printf("Xin moi nhap gia tri n=");
    scanf("%f",&n);
    printf("Xin moi nhap gia tri x=");
    scanf("%d",&x);
    t=1;
    f=0;
    for(i=1;i<=n;i++)
    {
        t=t/i;
        f=f+(pow(x,i))*(t);
    }
    printf("Gia tri cua f=%f",f);
    getch();
}

Các anh cho em hỏi em sai đoạn nào mà sao kết quả f em thấy toàn bằng x ạ? @@

xxxxxxxxx.Mình nhầm đề.sorry

#include <stdio.h>
#include <conio.h>
#include <math.h>

int TinhGiaiThua(int &n)
{
    int i;
    int gt = 1;
    for(i = 1 ; i <= n ; i++)
    {
        gt *= i;
    }
    return gt;
}
int main()
{
int x,i,t;
float f,n;
printf("Xin moi nhap gia tri n=");
scanf("%f",&n);
printf("Xin moi nhap gia tri x=");
scanf("%d",&x);
f = 0;
for(i = 1 ; i <= n ; i++)
{
    t = TinhGiaiThua(i);
    f += pow(x,i) / t;
}
printf("Gia tri cua f = %f",f);
getch();
}

Đây bạn,bạn làm sai thuật toán,ở đây mình có thêm 1 hàm tính giai thừa cho dễ tính

3 Likes

Cách của bạn cũng hay nhưng theo mình nghĩ nên để tính giai thử ở bên trong lun, mõi lần tới một phân số mới chỉ cần mẫu số là giai thử nhân thêm giá trị tiếp theo, chương trình chạy sẽ nhanh hơn.

1 Like

bạn thiếu thôi ,gán thêm biến M=M*i nữa nhé

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