sinx를 테일러전개해서 값을 구하는건데

왜 내가하면 floating point error 뜨는거죠?ㅡㅡ?


 

==============================================================================

program sinx
implicit none
real :: xx,aa,sum,ii,kk
integer :: nn,nf
!
print *, 'input nn,xx'
read *, nn,xx
!
sum=0.
do ii=1,nn
aa=2*ii-1
 nf=1
 do kk=1,nn
 nf=kk*nf
 end do
sum=sum+((-1)**(ii+1))*(xx**(aa-1))/float(nf)
print*, 'sinx=',sum<br>end do<br>print*, 'real sinx=',sin(xx)
end program sinx

 

존나모르겟네... 씨발

그리고 (2n-1)!이거좀 갈켜줘요ㅠㅠ

지금 내가 nf 해논건 1, 1*2 , 1*2*3 ...

이건데ㅋㅋㅋㅋ