Proc45. Описать функцию Power4($$x$$, $$a$$, $$\epsilon$$) вещественного типа (параметры $$x$$, $$a$$, $$\epsilon$$ — вещественные, $$|x| < 1; a, \epsilon> 0$$), находящую приближенное значение функции $$(1 + x)^a$$: $$(1 + x)^a = 1 + a*x + a*(a-1)*x^2/(2!) + … + a*(a-1)*…*(a-n+1)*x^n/(n!) + … .$$
В сумме учитывать все слагаемые, модуль которых больше $$\epsilon$$. С помощью Power4 найти приближенное значение $$(1 + x)^a$$ для данных $$x$$ и $$a$$ при шести данных $$\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> #include <math.h> float power4(float x, float a ,float e){ float power4_n=1,rez=0; int i=0; while (fabs(power4_n)>e){ rez+=power4_n; ++i; power4_n*=x*(a-i+1)/i; } return rez; } int main(void) { float x,a,e; printf("X:"); scanf("%f", &x); printf("A:"); scanf("%f", &a); int i; for(i=1;i<=6;++i){ printf("E: "); scanf("%f", &e); printf("(1+x)^a: %f\n",power4(x,a,e)); } return 0; } |
Другие задачи из раздела Proc можно посмотреть здесь.
Комментарии: