Почему бы программа могла просто ничего не выводить, ни какого-то ответа, ни сообщения о том, что где-то ошибка
var max, min,i, f, count :integer;
begin
i:=850000;
while True do begin
//
i:=i+1; min:= 899999; max:=0; count:=0;
for var y:=2 to (y div 2) do begin
if i mod y =0 then begin
if y max then max:=y;
f:=max-min;
if (f<>0) and (f mod 5 =0) then begin
count:=count +1;
writeln ('count = ',count, ' i= ', i, ' f= ', f);
end;
end;
end;
//i:=i+1;
if count =6 then break;
end;
end.
Answers & Comments
Условие для цикла for составлено крайне некорректно, вы присваиваете начало отсчета к 2 и конец отсчета 1. К сожалению через to из 2 попасть в 1 никак нельзя. Здесь можно использовать downto, но это уже другое. Следовательно данный блок кода выполняться не будет, а значит, что count никогда не станет равным 6, а это ведет к тому, что цикл будет совершаться бесконечно.
Небольшое пояснение (на всякий случай):
2 div 2 = 2/2 =1,0 = 1