For 24. Дано вещественное число X и целое число N (> 0). Найти значение выражения
\(1 - X^2/(2!) + X^4/(4!) - ... + (-1)^N \cdot X^{2 \cdot N}/((2 \cdot N)!)\)
(\(N! = 1 \cdot 2 \cdot ... \cdot N\)). Полученное число является приближенным значением функции cos в точке X.
Решение на Python 3
import math
X = math.pi/3
N = 10
print('X = ', X)
print('N = ', N)
p = 1
S = 1
k = 1
for i in range(1,N+1):
p *= (-1) * X * X / (k * (k + 1))
S += p
print(i," : ", k," : ", k+1," : ", p," : ", S)
k += 2
print("Result:")
print(S)
print("cos:")
print(math.cos(X))
Решение на C++
#include <bits/stdc++.h>
using namespace std;
int main() {
const double PI = 3.141592653589793;
srand((int)time(0));
int N;
N = rand() % 30 + 1;
//N = 30;
float X = (rand() % 16 - 8) * PI/4;
//X = 1.0;
double p = 1, s = 1;
int k = 1;
for(int i = 1; i <= N; i++) {
p *= (-1)*X*X/(k*(k+1));
s += p;
cout << i << " : "<< k << " : "<< p;
cout << " : "<< s << endl;
k += 2;
}
cout << "Number N: " << N << endl;
cout << "Number X: " << X << endl;
cout << "Result: " << s << endl;
cout << "cos(" << X <<") = " << cos(X) << endl;
return 0;
}