Pasсal abc.net , даны два натуральных числа n и m. составить программу, которая находит первое число в интервале [n; m] с наибольшим количеством делителей.
Var n,m,d,k,Max,Maxk:integer; Begin Write('n = ');ReadLn(n); Write('m = ');ReadLn(m); Maxk:=0; For n:= m downto n do Begin if n>1 then k:=2 else k:=1; d:=n div 2; While d>1 do Begin if n mod d = 0 then k:=k+1; d:=d-1 End; if k>=Maxk then Begin Maxk:=k; Max:=n; End; End; WriteLn('Искомое число: ',Max); WriteLn('Количество делителей этого числа: ',Maxk); End.
n,m,d,k,Max,Maxk:integer;
Begin
Write('n = ');ReadLn(n);
Write('m = ');ReadLn(m);
Maxk:=0;
For n:= m downto n do
Begin
if n>1 then k:=2
else k:=1;
d:=n div 2;
While d>1 do
Begin
if n mod d = 0 then k:=k+1;
d:=d-1
End;
if k>=Maxk then
Begin
Maxk:=k;
Max:=n;
End;
End;
WriteLn('Искомое число: ',Max);
WriteLn('Количество делителей этого числа: ',Maxk);
End.