Je fais la calculatrice simple et c'est partie de la fonction e^x.codage e^x fonction en utilisant Taylor Series sans utiliser math.h et la fonction factorielle
cela fonctionne pour le nombre positif, mais pas pour le négatif x. Comment puis-je faire cela fonctionne pour x négatif aussi? `
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;
}
Pourquoi ne pas utiliser ''? La fonction 'exp' est susceptible d'être plus rapide que n'importe quel code que vous pourriez facilement écrire en C (dans certains cas, il peut s'agir d'une seule instruction machine, mais au moins vous pouvez vous attendre à ce que les auteurs de la bibliothèque l'optimisent dans un pouce de sa vie). –
alastair
Petit drapeau de révision de code rouge: Vous avez * trois * boucles. Est-ce vraiment nécessaire? –
C'est mon travail à l'école, le professeur a ordonné de ne pas utiliser la bibliothèque math.h. Je vais l'utiliser plus tard dans mes propres travaux @alastair – april