Предмет: Информатика, автор: shpilhay78

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [190201; 190230], числа, имеющие ровно 4 различных делителя. Выведите эти четыре делителя для каждого найденного числа в порядке убывания. Язык Python. ​​


shpilhay78: Что за числа с переди? На языке Python

Ответы

Автор ответа: Greenow
1

y = []

hmas = []

for num in range(190201, 190230 +1):

hmas = []

for divider in range(1, num+1):

if num % divider == 0: hmas.append(divider)

if len(hmas) == 4: y.append([num, hmas])

for element in y:

print(f"{element[0]}:", sorted(element[1], reverse = True))

Автор ответа: SheWhoRunsOnTheWaves
1

Ответ:

190201 17291 11 1

190202 95101 2 1

190214 95107 2 1

190219 853 223 1

190222 95111 2 1

190223 17293 11 1

190227 63409 3 1

190229 14633 13 1

Объяснение:

v = [0] * 190231

a = []

# решето Эратосфена

for i in range(1, 190231):

   for j in range(i, 190231, i):

       v[j] += 1

   # проверка, что число нам подходит

   if v[i] == 4 and 190201 <= i <= 190230:

       a.append(i)

# вывод делителей

for i in range(len(a)):

   for j in range(a[i], 0, -1):

       if a[i] % j == 0:

           print(j, end=' ')

   print()

Решето Эратосфена - это ОЧЕНЬ быстрый и эффективный алгоритм. Пользуйтесь Эратосфеном и будет вам счастье :)))))

Похожие вопросы
Предмет: Английский язык, автор: maha62