Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

funkcja licząca e^{x} = 1+ \frac{x}{1!} + \frac{x^{2}}{2!} +... w c++

Ostatnio zmodyfikowano 2018-11-29 18:12
Autor Wiadomość
bartsky96
Temat założony przez niniejszego użytkownika
funkcja licząca e^{x} = 1+ \frac{x}{1!} + \frac{x^{2}}{2!} +... w c++
» 2018-11-29 11:30:42
jak napisać funkcję w języku C++ obliczającą dla zadanego x wartość e^x za pomocą szeregu:
e^{x} = 1+ \frac{x}{1!} + \frac{x^{2}}{2!} +... ?
P-173029
jacoo
» 2018-11-29 11:54:37
Nie wiem.
P-173031
garlonicon
» 2018-11-29 14:31:10
P-173033
pekfos
» 2018-11-29 14:59:35
» Kurs C++ » Poziom 3Pętla while lekcja

Nie wiem.
Doskonale. Jest jeszcze ktoś, kto nie wie?
P-173034
mateczek
» 2018-11-29 18:12:04
a z czym problem ??

Jeśli dobrze rozumiem masz policzyć konkretną wartość e^5 za pomocą szeregu
co daje 1+5/1! + 5^2/2! + 5^3/3!

Aby uprościć sprawę umieśćmy wyrażenie 5/1! jako "segment". Wówczas to kolejna iteracja będzie tym samym segmenterm pomnożonym przez x i podzielonym przez nr_iteracji

segment1 = x/1                 wynik= 1+segment1
segment2 = segment1*5/2        wynik=wynik+segment2
segment3 = segment2*5/3        wynik= wynik + segment3
segment4 = segment3*5/4        wynik=wynik+segment4


co w szczególności sprowadza się do takiego ciągu obliczeń: w przykładzie 100 iteracji
C/C++
#include <iostream>
using namespace std;
int main() {
    int x = 5; long double segment = x;
    long double wynik = segment + 1;
    for( int i = 2; i < 100; i++ ) {
        segment = segment * x / i;
        wynik += segment;
    }
    cout << wynik;
}
P-173036
« 1 »
  Strona 1 z 1