Hallo,
ich hab mir aus dem Netz ein paar Übungsaufgaben geholt,
dabei war auch eine zur Berechnung von e^x bis zu einer bestimmten Genauigkeit.
e^x = 1 + x/1! + x^2/2! + x^3/3! + …
Mit Python funktioniert das auch sehr gut, mit demselben Algorithmus, aber mit C++ kommt SEHR schnell inf als Ergebnis heraus.
Irgendwie hab ich keine Idee mehr was ich falsch mache, könnt ihr mir helfen?
mfg TLF
PS: source
– snip –
#include
#define EPSILON 0.001
/*! fakultät x! berechnen */
unsigned int fact (unsigned int x)
{
unsigned int result = 1;
for (x; x > 0; x–)
result *= x;
return result;
}
int main (int argc, char* argv[])
{
if (argc != 2)
{
std::cout EPSILON)
{
old_result = result;
result += pow (x, i) / fact (i);
i++;
}
std::cout