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.
for I : byte := 1 to 10 do a[i] := random(1, 60000);
max := 0; for I : byte := 1 to 10 do if a[i] > max then max := a[i];
writeln(max*3);
end.
Добавлю и объяснение. Алгоритм заполняет целочисленный массив из десяти элементов случайными числами. Возможны диапазон числе: от 1 до 60000. Затем в следующем цикле выискивается максимальное число, которое выдал генератор случайных чисел. В строке writeln выводится значение этого числа умноженное на три.
1.НАЧАЛО 2.Взять чистую сковороду 3.Поставить сковороду на огонь. 4.Налить немного масла 5.Если масло разогрелось, то перейти к шагу 8 6.Подождать 2 минуты 7.Перейти к шагу 5. 8. Разбить на сковороду 3 яйца 9. Уменьшить огонь до минимума 10. Посолить яичницу 11. Накрыть сковороду крышкой (я люблю прожаренные и сверху) 12. Подождать 7 минут. 13. Снять сковороду с огня. 14. Выложить яичницу на тарелку. 15. Положить на тарелку по вкусу майонез, лук, колбасу и проч. 16. Приятного аппетита! 17. КОНЕЦ
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.