Напишите программу (на питоне), которая ищет среди целых чисел, принадлежащих числовому отрезку [125873; 136762], числа, имеющие ровно 5 различных делителей. Выведите эти делители для каждого найденного числа в порядке возрастания.

mihksy17 mihksy17    1   02.02.2021 20:29    7

Ответы
Just0a0reader Just0a0reader  04.03.2021 20:31

for number in range(125873, 136763):

   divisors = []

   for divisor in range(2, number // 2 + 1):

       if number % divisor == 0:

           n = divisor

           divisors.append(divisor)

           for _ in range(3):

               n *= divisor

               divisors.append(n)

           if n == number:

               print(f'число = {number}, делители = 1, {", ".join(str(s) for s in divisors)}')

           break

ПОКАЗАТЬ ОТВЕТЫ
dtgyhyccubbycy dtgyhyccubbycy  04.03.2021 20:31

ищет 40 сек

for j in range(125873, 136763):

   count = []

   for i in range(2, j // 2 +1):

       if j % i == 0:

           count.append(i)

           if len(count) > 3:

               break

   if len(count) == 3:

       print(f'число = {j}, делители = 1, {", ".join(str(s) for s in count)}, {j}')

   count.clear()

Объяснение:

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика