For 23. Дано вещественное число X и целое число N (> 0). Найти значение выражения
\(X - X^3/(3!) + X^5/(5!) - ... + (-1)^N \cdot X^{2 \cdot N +1}/((2 \cdot N +1)!)\)
(\(N! = 1 \cdot 2 \cdot ... \cdot N\)). Полученное число является приближенным значением функции sin в точке X.

Решение на Python 3

import math
X = math.pi/4
N = 10
print('X = ', X)
print('N = ', N)

p = X
S = X
k = 0
for i in range(1,N+1):
k += 2
p *= (-1) * X * X / (k * (k + 1))
S += p
print(i," : ", k," : ", k+1," : ", p," : ", S)
print("Result:")
print(S)
print("sin:")
print(math.sin(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 = X, s = X;
int k = 0;
for(int i = 1; i <= N; i++) {
k += 2;
p *= (-1)*X*X/(k*(k+1));
s += p;
cout << i << " : "<< k << " : "<< p;
cout << " : "<< s << endl;
}
cout << "Number N: " << N << endl;
cout << "Number X: " << X << endl;
cout << "Result: " << s << endl;
cout << "sin(" << X <<") = " << sin(X) << endl;

return 0;
}