При написании программы возникла непонятная проблема.
var
f: text;
l, a, b, r: real;
i: integer;
k: byte;
begin
Assign(f, 'input.txt');
Reset(f);
Readln(f, l);
Readln(f, a);
Readln(f, b);
close(f);
r := a;
k := 0;
for i := 1 to round(l / a) do
begin
if (r / b = round(r / b)) then inc(k);
r := r + a;
writeln(r, ' - ',r / b:10:10,' = ', round(r / b),' - ',r / b = round(r / b));
end;
Assign(f, 'output.txt');
Rewrite(f);
write(f, k);
close(f);
end.
Начальные значения:
l = 10.5
a = 1.005
b = 0.004
Результаты:
На картинке видно, что почему-то при верном равенстве на результат выводит fasle.
В чём проблема?
Заранее спасибо.