Страницы

Поиск по вопросам

вторник, 31 декабря 2019 г.

Как вычислить факториал с++

#c_sharp #cpp #алгоритм #математика


Здравствуйте! 

Как факториал n! вычислить в данной ситуации?

Задание Вывести на экран таблицу значений функции Y(x) и ее разложения вряд S(x)
для x, изменяющегося от a до bс шагом h = (b –a)/10



Помочь тут 

s += (pow(i,2)+1)/k*pow(x/2,i); 


Краткий код. 

        for (i=1; i<=n; i++) 
        { 
            k=k+fact(i); 
            s += (pow(i,2)+1)/k*pow(x/2,i); 
        } 
        cout << setw(15) << x << setw(15) << y << setw(15) << s << endl; 
        x += h; 
    } 
    return 0; 
}

    


Ответы

Ответ 1



В Вашем коде стоило изменить лишь строчку k=k+fact(i) на k=k*i (перед циклом k=1)

Ответ 2



Вам не нужно вычислять факториал. На С++ это будет примерно так: double sum(double x, unsigned int n) { double s = 1.0; double term = s; for(int k = 1; k <= n; ++k) s += (term *= (k*k+1)*x/(2.0*k*((k-2)*k+2))); return s; } int main(int argc, const char * argv[]) { unsigned int n = 20; double a = 0, b = 1; // Сами вводите... for(double x = a; x <= b; x += (b-a)/10) cout << x << " " << sum(x,n) << " " << (x*x/4.0+x/2.0+1.0)*exp(x/2.0) << endl; }

Комментариев нет:

Отправить комментарий