• Предмет: Информатика
  • Автор: Аноним
  • Вопрос задан 2 года назад

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


GrafMonteKristo4327: На каком ЯП?
Аноним: Питон
GrafMonteKristo4327: Вроде ответили уже

Ответы

Ответ дал: orlovdima4656
0

Ответ:

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


Аноним: Ух сложно, питон да но есть другой способ
orlovdima4656: flag = False
num = int(input())
otvet = 0
cout = num
while otvet != num:
if num // cout == num / cout:
if num // cout != 0:
otvet = num // cout
print(otvet, end=' ')
cout = cout - 1
if num == 1:
print()
print('НЕТ')
elif num == 2:
print()
print('ПРОСТОЕ')
elif num % 2 == 0:
print()
print('НЕТ')
else:
print()
print('ПРОСТОЕ')
orlovdima4656: второй способ
Ответ дал: GrafMonteKristo4327
0

Ответ:

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 "нет"}")

Объяснение:

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

Вас заинтересует