Пусть M (N) — пятый по величине делитель натурального
Если у числа N меньше 5 различных делителей, не считая единицы и самого числа, считаем, что M (N) = 0.
Найдите 5 наименьших натуральных чисел, превышающих 460 000 000, для которых M (N) > 0. В ответе запишите найденные значения M (N) в порядке возрастания соответствующих им
Ответ:
Будем последовательно рассматривать каждое целое число,
Приведём решение на языке Pascal.
var
i, j, halfI, del: int64;
countDel, count: integer;
begin
count := 0;
i := 460000001;
while (count < 5) do begin
halfI := i div 2;
del := 0;
countDel := 0;
for j := 2 to halfI do
if (i mod j = 0) then begin
countDel := countDel + 1;
if countDel = 5 then begin
writeln(i div j);
count := count + 1;
break;
end;
end;
i := i + 1;
end;
end.
В результате работы программа должна вывести следующее:
41818182
261959
5
271
57500001
Примечание.
Пятый по величине делитель — пятый делитель из пяти наибольших делителей числа. То есть для числа 1000 пять наибольших делителей, не считая единицы и самого числа, — 500, 250, 200, 125, 100, пятый по величине — 100.
Приведём решение на языке Python.
count = 0
i = 460000001
while count < 5:
halfI = i // 2
countDel = 0
for j in range(2, halfI + 1):
if i % j == 0:
countDel += 1
if countDel == 5:
print(i // j)
count += 1
break
i += 1

