Задания
Версия для печати и копирования в MS Word
Тип 25 № 78081
i

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

На­пи­ши­те про­грам­му, ко­то­рая пе­ре­би­ра­ет целые числа, боль­шие 1 825 000, в по­ряд­ке воз­рас­та­ния и ищет среди них такие, для ко­то­рых M не боль­ше 25 000 и окан­чи­ва­ет­ся на 3. В от­ве­те за­пи­ши­те пер­вые пять най­ден­ных чисел в по­ряд­ке воз­рас­та­ния.

На­при­мер, для числа 105 M  =  7.

Ответ:

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

Ре­ше­ние.

При­ве­дем ре­ше­ние на языке Python.

def div(x):

d = set()

for i in range(2, int(x**0.5)+1):

if x%i==0:

d.add(i)

d.add(x//i)

return sorted(d)

 

def p(x):

for i in range(2, int(x**0.5)+1):

if x%i==0:

return 0

return x > 1

k = 0

for x in range(1_825_001, 1_850_000):

d = [i for i in div(x) if p(i)]

if len(d)>0:

m = max(d)

if m <= 25_000 and m%10==3:

if k == 5:

break

print(x); k += 1

 

В ре­зуль­та­те ра­бо­ты про­грам­ма долж­на вы­ве­сти сле­ду­ю­щее:

1825001

1825002

1825010

1825025

1825028

 

Ответ: 1825001  1825002  1825010  1825025  1825028.


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