# 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 막 이러케 나와요....
팩토리얼 부분 제대로 된거에요?
....진심은 아니지?
니가 (라디안 단위) 라고 출력해놓고 20 을 적은거냐?
0.34906585 라고 적어라
그럼 어떻게 입력해야되요..???
아읻 감사합니다
넌 좀 맞아야겠다
누가 짠 소스냐?
ㅋㅋ 겨 묻은 개가 똥 묻은 개를 나무라네
죄송합니다 제가짲어요
짲지마세요 짰세요