Олимпиадный тренинг

Задача . П 56


Задача

Темы:
Для заданного положительного вещественного числа A необходимо найти минимальное целое число K, при котором выполняется неравенство 1+1/2+1/3+...+1/К >=A. Для решения этой задачи ученик написал такую программу:

Паскаль Си
var a, s: real;
    k: integer;
begin
  read(a);
  k := 1;
  s := 1;
  while s<=a do begin
    k := k + 1;
    s := 1.0/k;
  end;
  write(k);
end.
#include<stdio.h>
main()
{
 float a, s=1;
 int k=1;
 scanf("%f",&a);
 while(s<=a) 
 {
  k = k + 1;
  s = 1.0 / k;
 }
 printf("%d",k);
}


Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 0.4.
2. Сколько существует натуральных чисел А, при вводе которых программа выведет ответ 2?
3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.

time 500 ms
memory 32 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя