Proc40. Описать функцию Exp1($$x$$, $$\epsilon$$) вещественного типа (параметры $$x$$, $$\epsilon$$ — вещественные, $$\epsilon > 0$$), находящую приближенное значение функции exp($$x$$): $$exp(x) = 1 + x + x^2/(2!) + x^3/(3!) + … + x^n/(n!) + … (n! = 1*2*…*n)$$. В сумме учитывать все слагаемые, большие $$\epsilon$$. С помощью Exp1 найти приближенное значение экспоненты для данного $$x$$ при шести данных $$\epsilon$$.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#include <stdio.h> float exp1(float x, float e){ float xi=1,ni=1,rez=0,temprez=1; int i=0; while(temprez>e){ rez+=temprez; ++i; xi*=x; ni*=i; temprez=xi/ni; } return rez; } int main(void) { float x,e; printf("X:"); scanf("%f", &x); int i; for(i=1;i<=6;++i){ printf("E: "); scanf("%f", &e); printf("Exp: %f\n",exp1(x,e)); } return 0; } |
Другие задачи из раздела Proc можно посмотреть здесь.
извините можно спросить что такое rez
4 строчка. float xi=1,ni=1,rez=0,temprez=1;
Тоесть rez это просто переменная типа float.