Задания
Версия для печати и копирования в MS Word

Пусть M (N)  — про­из­ве­де­ние 5 наи­мень­ших раз­лич­ных на­ту­раль­ных де­ли­те­лей на­ту­раль­но­го числа N, не счи­тая еди­ни­цы. Если у числа N мень­ше 5 таких де­ли­те­лей, то M (N) счи­та­ет­ся рав­ным нулю.

Най­ди­те 5 наи­мень­ших на­ту­раль­ных чисел, пре­вы­ша­ю­щих 500 000 000, для ко­то­рых 0 < M (N) < N. В от­ве­те за­пи­ши­те най­ден­ные зна­че­ния M (N) в по­ряд­ке воз­рас­та­ния со­от­вет­ству­ю­щих им чисел N.

Ответ:

Спрятать решение

Ре­ше­ние.

Будем по­сле­до­ва­тель­но рас­смат­ри­вать каж­дое целое число, боль­шее 500 000 000. В каж­дом таком числе будем на­хо­дить пер­вые 5 на­ту­раль­ных де­ли­те­лей, умно­жая их между собой, если ре­зуль­тат про­из­ве­де­ния не будет пре­вы­шать зна­че­ния са­мо­го числа. Если ре­зуль­тат про­из­ве­де­ния пер­вых 5 на­ту­раль­ных де­ли­те­лей числа, не счи­тая еди­ни­цы, будет мень­ше са­мо­го числа, будем вы­во­дить ре­зуль­тат про­из­ве­де­ния на экран.

 

При­ведём ре­ше­ние на языке 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


Аналоги к заданию № 38959: 39254 Все

Раздел кодификатора ФИПИ: