재귀 적이어야하는 사인 함수를 작성하고 있습니다. 사인 함수를 작성했지만 재귀 적으로 수행하는 방법을 잘 모르겠습니다. 누군가 이것을 시작할 수있는 방법을 설명해 줄 수 있습니까?재귀 사인 함수
/*--------------------------------------------------------------
Name: sine(double X);
Return: Function "sine" will return the
sine of X, where X is measured in radians.
--------------------------------------------------------------*/
double sine(double X)
{
double result = 0;
double term;
int k;
double lim;
k = 0;
lim = power(10, -8);
term = power(-1, k)*power(X, ((2*k) + 1))/(factorial((2*k)+1));
result = term;
while (absolute(term) > lim)
{
k += 1;
term = power(-1, k)*power(X, ((2*k) + 1))/(factorial((2*k)+1));
result += term;
}
return result;
}
편집 : 나는이 문제를 해결하기 위해 래퍼 함수를 사용
이것은 내가 지금까지있는 것입니다. 기본적으로
double sine_rec(double X, double k)
이라는 다른 함수를 만들고 현재 코드를 수정하여이 함수에 맞 춥니 다.
이 숙제가 있습니까? 그 때 나는 오히려 완전한 응답보다는 당신에게 힌트를주고 당신을위한 재미를 버릇 없게기를 것이기 때문에. – Mads
@Mads 숙제 태그가 있습니다 .... 아마도 방금 추가 되었습니까? – kenny
인터넷 검색을 시도해 보셨습니까? 밖에 많은 예제들이있는 것 같습니다. –