Chào m.n mình có làm 1 bài tính hàm trong C. Đề của n đây:
Complete the given fen(double x, double y, int n) function, which calculates and returns the value fen(x, y, n) using the formula below:
và hàm tình mình cũng đã viết rất cẩn thận, mấy lần trước dùng hàm giai thừa bị tràn nên lần này rút kinh nghiệm.
double fen(double x,double y, int n) { // You should complete this function
// Write your statements here
double sum=1,temp;
int j=2,k=1;
double a = (x*y*y) / 18;
sum=1-a;
for(int i=2;i<=n;i++)
{
for(;j<=i;j++)
{
a *= (x*y);
for(;k<=(i+j);k++)
a /= k;
}
temp = a/(k*k);
temp = (i%2 == 0) ? temp : -temp;
sum+=temp;
}
return sum; //This statement must be changed
}
Nhưng k hiểu sao vẫn k ra kết quả. Mình chạy debug đến khúc i=3 thì bắt đầu có sai số, kiểu như là 0.05 thì nó thành 0.0499999999…
Và kq k giống output như testcase. Ai giúp mình với đc k. Bất lực r :((

đại loại là mẫu có thêm hai thừa số i+j+1 nữa. Hai cái for j, k đó unroll là vừa vì j cùng tiến với i.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?