Поделитесь своими знаниями, ответьте на вопрос:
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [586132; 586430], числа, имеющие максимальное количество различных делителей. Найдите минимальное и максимальное из таких чисел. Для каждого из них в отдельной строчке выведите количество делителей и два наибольших делителя в порядке убывания. Паскаль
Совсем не но как минимум даст толчок
Объяснение:
Сам на паскале не пишу, но нашел программку:
var
a,b,n,m,i: word;
begin
write('Числовой промежуток: ');
readln(a,b);
write('Количество делителей не менее... ');
readln(n);
while a <= b do begin
m := 0;
for i:=1 to a do
if a mod i = 0 then m := m + 1;
if m >= n then begin
write(a,' - ', m,' - ');
for i:=1 to a do
if a mod i = 0 then write(i,' ');
writeln;
end;
a := a + 1;
end;
end.
Вот как примерно выглядит на выходе:
Числовой промежуток: 21 44
Количество делителей не менее... 5
24 - 8 - 1 2 3 4 6 8 12 24
28 - 6 - 1 2 4 7 14 28
30 - 8 - 1 2 3 5 6 10 15 30
32 - 6 - 1 2 4 8 16 32
36 - 9 - 1 2 3 4 6 9 12 18 36
40 - 8 - 1 2 4 5 8 10 20 40
42 - 8 - 1 2 3 6 7 14 21 42
44 - 6 - 1 2 4 11 22 44