Пусть M (N) — произведение
Найдите 5 наименьших натуральных чисел, превышающих 500 000 000, для которых 0 < M (N) < N. В ответе запишите найденные
Ответ:
Будем последовательно рассматривать каждое целое число, большее 500 000 000. В каждом таком числе будем находить
Приведём решение на языке Pascal.
var
i, j, halfI, del: int64;
countDel, count: integer;
begin
count := 0;
i := 500000001;
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.
В результате работы программа должна вывести следующее:
1008
1797092
48408867
1800
1156923
Приведём решение на языке Python.
count = 0
i = 500000001
while count < 5:
halfI = i // 2
dell = 1
countDel = 0
for j in range(2, halfI + 1):
if i % j == 0:
countDel += 1
dell *= j
if dell > i:
break
elif countDel == 5:
print(dell)
count += 1
break
i += 1
Приведём решение Перевезенцева Алексея на языке Python.
h=500000001
dh=h//(2*3*4*5*6)
c=0
while c<5:
M=1
k=0
for i in range(2,dh):
if h%i==0:
k+=1
M*=i
if k==5:
break
if k==5 and M < h:
c+=1
print(M)
h+=1

