Пусть M (N) — произведение
Найдите 5 наименьших натуральных чисел, превышающих 200 000 000, для которых 0 < M (N) < N. В ответе запишите найденные
Ответ:
Будем последовательно рассматривать каждое целое число, большее 200 000 000. В каждом таком числе будем находить
Приведём решение на языке Pascal.
var
i, j, halfI, del: int64;
countDel, count: integer;
begin
count := 0;
i := 200000001;
while (count < 5) do begin
halfI := i div 2;
del := 1;
countDel := 0;
for j := 2 to halfI do
if (i mod j = 0) then begin
countDel := countDel + 1;
del := del * j;
if del > i then break
else if countDel = 5 then begin
writeln(del);
count := count + 1;
break;
end;
end;
i := i + 1;
end;
end.
В результате работы программа должна вывести следующее:
1728
21632
1260
1152
4127787
Приведём решение Влада Сафонова на языке Python.
zn=[]
for x in range(200000001,200000100):
de=set()
for d in range(1,round(x**0.5)+1):
if x%d==0:
de.add(d)
de.add(x//d)
if len(de)>5:
de=sorted(de)
p=de[5]*de[1]*de[2]*de[3]*de[4]
if p<x:
zn.append(p)
print((zn)[:5])

