Дано вещественное число А(>1). Вывести наименьшее из целых чисел N, для которых сумма 1+1/2+ . +1\N будет больше А, и саму эту сумму — Pascal(Паскаль)

program Project1;
 
const
  (*Наибольшее число типа Word.*)
  Max = High(Word);
var
  S : String;
  Res : Word;
  A, Num : Extended;
begin
  repeat
    Writeln('Введите число А:');
    Readln(A);
 
    Res := 1;
    Num := 1;
    while (Num <= A) and (Res < Max) do begin
      Res := Res + 1;
      Num := Num + 1/Res;
    end;
 
    if Num <= A then begin
      Writeln('Вычисления не уалось завершить. - Достигнуто максимальное');
      Writeln('число типа Word.');
      Writeln('Остановка на числе: ', Res, ', достигнутая сумма: ', Num:0:17);
    end else begin
      Writeln('Ответ: число: ', Res, ', сумма: ', Num:0:17);
    end;
 
    Writeln('Повторить - Enter, выход - любой символ + Enter.');
    Readln(S);
  until S <> '';
end.

Leave a Comment

23 − 20 =