Напишите программу, которая считывает одно натуральное число и выводит на первой строке все делители этого числа порядке возрастания, разделенные пробелами, а на второй "ПРОСТОЕ" или "НЕТ" в зависимости от того, простым было введеное число или нет

Danuaple Danuaple    2   11.12.2020 14:44    44

Ответы
levkamorkovka levkamorkovka  10.01.2021 14:47

digit=int(input('Введите число:\n'))

delit=1

spisok_del=[]

while delit <= digit:

   if digit % delit == 0:

       spisok_del.append(delit)

   delit+=1

for i in spisok_del:

   print(i,end=' ')

if len(spisok_del)==2 and max(spisok_del)==digit:

   print('\nПростое')

else:

   print('\nНет')

Объяснение: язык программирования - Python

ПОКАЗАТЬ ОТВЕТЫ
СофияМ1 СофияМ1  10.01.2021 14:47

n = int(input("Введите число: "))

deliteli = [num for num in range(1, int(n**0.5)) if not(n % num)]

deliteli += [n // delitel for delitel in deliteli[::-1]]

print(*deliteli, sep=', ')

print(f"{"простое" if deliteli == [1, n] else "нет"}")

Объяснение:

Нет смысла проверять числа до считываемого числа, остальные можно посчитать

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