# include <stdio.h>
/*
sinx = 시그마(n->무한대) (-1)^n * x^2n+1 / (n+1)!의 멱급수를 이용, sinx의 근삿값 구하기
*/
int buho (long int cnt) //부호를 결정하는 함수 check
{
int buho;
if(cnt/2==1)
{
buho=-1;
}
else
{
buho=1;
}
return buho;
}
long double guepsu (long double x, long int cnt) //급수를 수하는 함수 check
{
long int count;
long double guepsu;
guepsu=x;
for(count=1; count<=2*cnt+1; count++)
{
guepsu=guepsu*x;
}
return guepsu;
}
long int factorial(long int cnt) //팩토리얼을 구하는 함수 check
{
int i=1;
long int factorial=1;
for(i=1; i<=cnt; i++)
{
factorial*=i;
}
return factorial;
}
long double An(long double x, long int cnt) //An을 구하는 함수 (일반항)
{
long double An;
An=buho(cnt)*guepsu(x,cnt)/factorial(cnt+1);
return An;
}
int main () //메인 함수
{
long int acr, n=0, cnt;
long double x, sum=0;
printf("각도를 입력하세요.(라디안 단위)");
scanf("%lf",&x);
fflush(stdin);
printf("원하는 정확도를 입력하시오. (숫자가 클수록 정확함)"); //멱급수를 어디까지 더할지 정한다.
scanf("%d",&acr);
for(cnt=0; cnt<=acr; cnt++)
{
sum=sum+An(x,cnt);
}
printf("답은 %lf 이다.",sum);
return 0;
}
sinx 근사값을 테일러급수로 구하는건데... 왜자꾸 이상한 숫자가 결과로 뜨는지 잘 모르겠어요...
뭐지? 내가 잘못본건지 모르지만 sinx 의 맥클로린 급수전개 분모항이 (n+1)! 이라고?
아맞다.. 근데 그거 고쳤는데도 숫자가 이상한 큰거나와요....
그럼 고친 코드를 올려