{Я не до конца понимаю роль переменной n в данной задаче. Если задать большое значение данной переменной, программа вернёт NaN}
//Pascal ABC.NET v3.1 сборка 1172
Var
x,r:real;
n,i,k:integer;
function fact(n:integer):real;
Var
i,k:integer;
begin
k:=1;
for i:=1 to n do
k:=k*i;
fact:=k;
end;
begin
readln(x);
readln(n);
k:=1;
r:=0;
for i:=1 to n do
begin;
if odd(i) then
r:=r+power(x,k)/fact(k)
else
r:=r-power(x,k)/fact(k);
k:=k+2;
end;
writeln(r);
end.
Пример ввода:
1
10
Пример вывода:
0.841470972080175