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

Решение на Python 3

import math
X = 2
N = 20
print('X = ', X)
print('N = ', N)

F = 1.0
S = 1.0
for i in range(1,N+1):
F *= X / i
S += F
print(i," : ", F," : ", S)
print("Result:")
print(S)
print("e:")
print(math.exp(X))

Решение на C++

#include <bits/stdc++.h>
using namespace std;

int main() {
srand((int)time(0));
int N;
N = rand() % 30 + 1;
//N = 30;
float X = 5 +
static_cast <float> (rand()) /
(static_cast <float> (RAND_MAX/5));
//X = 1.0;

double f = 1, s = 1;
for(int i = 1; i <= N; i++) {
f *= X/i;
s += f;
cout << i << " : "<< f << " : "<< s << endl;
}
cout << "Number N: " << N << endl;
cout << "Number X: " << X << endl;
cout << "Result: " << s << endl;
cout << "e^" << X <<" = " << exp(X) << endl;

return 0;
}