For28. Дано вещественное число X (|X| < 1) и целое число N (> 0). Найти значение выражения 1 + X/2 — 1*X2/(2*4) + 1*3*X3/(2*4*6) -… + (-1)N-1*1*3*…*(2*N-3)*XN/(2*4*…*(2*N)). Полученное число является приближенным значением функции √1 + X .
>Решение Pascal
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | program For28; var X,Rez,pow,TempRez1,TempRez2:Real; N, i :Integer; begin Write('Введите X: '); Readln(X); Write('Введите N: '); Readln(N); Rez:=1; pow:=1; TempRez1:=1; TempRez2:=1; For i:=1 to N do begin TempRez1:=TempRez1*(2*i-3); TempRez2:=TempRez2*(2*i); pow:=pow*X*(-1); Rez:=Rez+TempRez1*Pow/temprez2; end; Writeln(Rez); end. |
>
Решение C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include int main(void) { float x; printf("X:"); scanf ("%f", &x); int n; printf("N:"); scanf ("%i", &n); float temp1=1,temp2=1,rez=1,pow=1; int i; for (i =1; i<n; ++i){ temp1 *= 2*i-3; temp2 *=2*i; pow *=(-1)*x; rez += temp1*pow/temp2; } printf("%f \n ",rez); return 0; } |
Решение C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <iostream> using namespace std; int main() { setlocale(LC_ALL, "Russian"); float x; cout<<"X:"; cin>>x; int n; cout<<"N:"; cin>>n; float temp1 = 1, temp2 = 1, rez = 1, pow = 1; int i; for (i = 1; i < n; ++i) { temp1 *= 2 * i - 3; temp2 *= 2 * i; pow *= (-1) * x; rez += temp1 * pow / temp2; } cout<< rez; } |
а есть на с++