Напишите программу в PascalABC: нахождение наибольшего целого делителя целого числа
Answers & Comments
lasept
Var n, i, d: integer; found: boolean; begin d:=1; found:=false; writeln('Введите целое число больше единицы'); readln(n); if n mod 2 = 0 then d := n div 2 else begin i:=(n div 2)-1; while (found=false) and (i > 2) do begin if n mod i = 0 then begin found:=true; d:=i; end; i:=i-1; end; end; if d=1 then writeln('введённое число оказалось простым') else writeln('наибольший целый делитель введённого числа равен ',d); end.
Answers & Comments
found: boolean;
begin
d:=1;
found:=false;
writeln('Введите целое число больше единицы');
readln(n);
if n mod 2 = 0 then d := n div 2
else
begin
i:=(n div 2)-1;
while (found=false) and (i > 2) do
begin
if n mod i = 0 then begin found:=true; d:=i; end;
i:=i-1;
end;
end;
if d=1 then writeln('введённое число оказалось простым')
else writeln('наибольший целый делитель введённого числа равен ',d);
end.