• Дано натуральное число n. Вычислить: S=1/1! - 1/2! - 1/3! -...- 1/n!
    Написать это в Паскале!

Ответы 1

  • Чтобы уменьшить количество вычислений, преобразуем формулу к рекуррентной.\displaystyle S_n= \frac{1}{1!}-\frac{1}{2!}-\frac{1}{3!}-... -\frac{1}{n!} =1-\sum_{i=2}^n \frac{1}{i!}=1-\sum_{i=2}^na_i \\  \\ k!=k\times (k-1)! \\ a_i= \frac{1}{i!}= \frac{a_{i-1}}{i}, a_2= \frac{1}{2}    Теперь все готово для программирования.// PascalABC.NET 3.2, сборка 1353 от 27.11.2016var  i,n:integer;  a,s:real;begin  Write('n='); Read(n);  if n=1 then Writeln('S=1')  else    if n=2 then Writeln('S=0.5')    else begin      s:=0.5; a:=0.5;      for i:=3 to n do begin a:=a/i; s:=s-a end      end;  Writeln('S=',s)end.Примерn=10S=0.281718198853615
    • Автор:

      rodrigo74
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years