Liczba e
Ostatnio zmodyfikowano 2009-07-31 22:17
szelki Temat założony przez niniejszego użytkownika |
Liczba e » 2009-07-31 22:02:23 Postanowiłem napisac program liczący liczbę e wdł. wzoru e=1+1/1!+1/2!.... Wydawało mi się że wszystko jest ok, no ale program nie działa jak powinien. Nie wiedzialem gdzie zrobiłem błąd wieć dopisalem wyświetlanie wyniku każdej operacji żeby zobaczyć gdzie program źle liczy. Moje pytanie brzmi dlaczego a jest równe 0 cały czas? Jak to naprawić? #include <iostream> #include <cmath> using namespace std; int silnia( int n ) { switch( n ) { case 1: return 1; break; default: return n * silnia( n - 1 ); } }
int main() { long double a, b, c = 0, d; int z = 1, g, x, liczba = 10; for( x = 2; x < liczba; x++ ) { b = c; g = silnia( x ); cout << g << endl; a = 1 / g; cout << a << endl; c = b + a; cout << c << endl; } d = 2 + c; cout << d; getchar(); }
|
|
szelki Temat założony przez niniejszego użytkownika |
» 2009-07-31 22:21:27 Mój błąd, dzięki za pomoc:) |
|
manfred |
» 2009-07-31 22:17:33 Pomyślałeś, że w działaniach na liczbach całkowitych 1/x, gdzie |x| != 1, zawsze wynosi 0? Zrób a = 1.0 / g; Swoją drogą, pięknie napisałeś silnię. Rozumiem, że pętle zabrali? |
|
« 1 » |