For27. Дано вещественное число $$X$$ ($$|X| < 1$$) и целое число $$N$$ ($$> 0$$). Найти значение выражения $$X + 1*X^3/(2*3) + 1*3*X^5/(2*4*5) + … + 1*3*…*(2*N-1)*X^{2*N+1}/(2*4*…*(2*N)*(2*N+1))$$.
Полученное число является приближенным значением функции arcsin в точке $$X$$.
Решение от Дмитрия:
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 30 31 32 33 34 35 36 37 38 39 40 |
# include <iostream> # include <windows.h> # include <cmath> # include <iomanip> # include <fstream> using namespace std; int main () { SetConsoleCP(1251); SetConsoleOutputCP(1251); double X; cout << "Введите вещественное число X (|X|<1): "; cin >> X; int N; cout << "Введите целое число N (>0): "; cin >> N; double answer; double z, h; // z - значенатель ; h - числитель double stepen; z = stepen =1; h = X; answer = X; for(int i=1; i <= N ;i++) { h = h * X * X; // x^3 / x^5 /x^7 высчитывается степень числа X в числителе stepen = stepen* (2*i-1); // stepen= 1 / 3 / 15 высчитывается число, на которое умножается h z = z * (i*2+1)*(i*2); // 6 / 40 высчитывается знаменатель answer += (stepen * h) / z; // (1*x^3)/6 z = z / (i*2+1); // 2 / 8 } cout << "answer = " << answer << endl; double y; // переменная для значения arcsin в точке X y = asin(X); cout << "arcsin(X)= " << y << endl; system ("pause"); return 0; } |
Другие задачи из раздела For можно посмотреть здесь.
Комментарии: