간단한 계산기를 만들고 e^x 함수 부분입니다.math.h 및 계승 함수를 사용하지 않고 Taylor Series를 사용하여 e^x 함수를 코딩했습니다.
양수에서는 작동하지만 음수이면 x에서는 작동하지 않습니다. 어떻게 너무 부정적인 X 작동 할 수 있습니까?`나는 위의 의견에 쓴의 경우
double calculateEx(double x) {
double beforeResult = 1, afterResult = 1, term = 1, error = 1, i = 1, j;
while (error > 0.001) {
afterResult = beforeResult;
for (j = 1; j <= i; j++) {
term *= x;
}
term /= fact(i);
afterResult += term;
error = (afterResult - beforeResult)/afterResult;
if (error < 0) error * -1;
error *= 100;
beforeResult = afterResult;
term = 1;
i++;
}
return beforeResult;
}
double fact (double num) {
int i, j;
double total = 1;
for (i = 2; i <= num; i++) {
total = total * i;
}
return total;
}
왜''을 사용하지? 'exp' 함수는 C로 쉽게 작성할 수있는 코드보다 더 빠를 것입니다 (경우에 따라 단일 기계 명령어 일 수도 있지만, 적어도 라이브러리 작성자는이를 최적화 할 것으로 기대할 수 있습니다). 인생의 1 인치 이내). –
alastair
작은 코드 검토 빨간색 깃발 : * 고리가 3 개 있습니다. 정말 필요한가요? –
제 학교에서 일하는 교수입니다. 교수님은 math.h 라이브러리를 사용하지 말 것을 명령하셨습니다. 나 자신의 작품에서 나중에 사용하겠습니다. @alastair – april