Быстрее даю 50 баллов!!! Составить программу подсчета суммы S первых 1000 членов...

0 голосов
201 просмотров

Быстрее даю 50 баллов!!! Составить программу подсчета суммы S первых 1000 членов гармонического ряда 1+1/2+1/3+1/4+...1/N используя оператор цикла REPEAT.


Информатика (616 баллов) | 201 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
Правильно подобный ряд начинать вычислять с меньших по величине членов - так будет выше точность.

// PascalABC.NET 3.3, сборка 1599 от 17.12.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var (s,i):=(0.0,1000);
  repeat
    s+=1/i;
    i-=1;
  until i=0;
  Writeln(s)
end.

Результат
7.48547086055034

Во вложении приведено решение этой же задачи с точностью 20 цифр в пакете компьютерной математики Maple15. Видно,что все цифры, полученные программой, точны.
(150k баллов)
0 голосов

Program Summa;
Var   S:real;
      N:integer;
Begin
  S:=0;N:=0;
  repeat
    N:=n+1;
    S:=s+1/n
  Until n>1000;
  Writeln(s);
  Readln
End.

(129 баллов)