Даны целые положительные числа M и N. Необходимо определить количество таких целых чисел K, для которых выполняется неравенство M ≤ K
2 ≤ N. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная.
Паскаль |
Си |
var m, n, k, t: integer;
begin
read(m, n);
k := 1;
t := 1;
while k*k < n do begin
if k*k >= m then t := t + 1;
k := k + 1;
end;
writeln(t)
end.
|
#include<stdio.h>
main()
{
int m, n, k, t;
scanf("%d%d",&m,&n);
k = 1;
t = 1;
while(k*k < n)
{
if(k*k >=m) t = t + 1;
k = k + 1;
}
printf("%d",t);
}
|
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе M = 10 и N = 40.
2. Приведите пример таких чисел M и N, при вводе которых программа выведет верный ответ. Укажите этот ответ.
3. Найдите в программе все ошибки (их может быть одна или несколько).