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

 

/*
    sinx = 시그마(n->무한대) (-1)^n * x^(2n+1) / (2n+1)!의 멱급수를 이용, sinx의 근삿값 구하기
*/

int buho (long int cnt)             //부호를 결정하는 함수 check
{
 long int buho=1;
 if(cnt%2==1)
 {
  buho=-1;
 }
 else
 {
  buho=1;
 }
 return buho;
}


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)*pow(x,2*cnt+1)/factorial(2*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;
}

 

 

이렇게 하면 sin20 했을때 -1020329243001 막 이러케 나와요....

팩토리얼 부분 제대로 된거에요?