Решение задачи 1.
Можно, конечно, каждый раз вычислять очередное p!, затем 1/p!, и полученное слагаемое добавлять к сумме. Но обратим внимание на следующее очевидное равенство:
1/(p+1)! = (1/p!)/(p+1),
и программа вычисления запишется следующим образом
S:=1; p:=1; {S = p = 1/1!}
for i:=2 to k do
begin
p:=p/i;
S:=S+p;
end;
|