Em có viết chương trình như này rồi ạ
#include<iostream>
#include<cmath>
int giai_thua(int x)
{
int giai_thua=1;
for (int i=1; i<=x; i++){
giai_thua*=i;
}
return giai_thua;
}
int main()
{
int n=8;
double sinx=0, x;
std::cout<<"Nhap goc x muon tinh: ";
std::cin>>x;
for (int i=0; i<=n; i++){
sinx +=pow(-1, i)*(pow(x, 2*i+1)/giai_thua(2*i+1));
}
std::cout<<"sin("<<x<<")= "<<sinx;
}
Theo khai triển Maclaurin thì chương trình của em vẫn cho giá trị của sinx đúng khi khai triển đến n=5, nhưng đến n=6 thì lại sai ạ.
Mọi người cho em hỏi là tại sao đến n=6 nó mới sai ạ.
Em xin cảm ơn.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?