В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История

Python Требуется разложить целое число N на простые множители и вывести результат в порядке возрастания.
У меня получился такой код:
if k == 1:
k = k+1
if k == 0:
k = k+2
r=[]
for x in range(k,n+1):
i=2
while i*i<=x:
if x%i==0:
break
i+=1
else:
r.append(x)
t = []
for g in r:
if g in a:
t.append(g)
for l in t:
u = []
e = a.count(l)
print(l, '^', e, "*", end=" ")
Надо исправить его, чтоб если число в степени один, то выводилось просто число без ^1. А ещё надо удрать в конце звездочку.
Заранее .

Показать ответ
Ответ:
YouTuber228
YouTuber228
25.09.2021 18:50

ответ

power = 0

n = int(input())

copy = n

i = 2

flag = False

while copy != 1:

 while copy % i != 0: i += 1

 power = 0

 while copy % i == 0:

    copy //= i

    power += 1

 if flag: print('*', end = '')

 else: flag = True

 if power > 1: print(str(i) + '^' + str(power), end = '')

 else: print(i, end = '')

 i +=

0,0(0 оценок)
Ответ:
vilrimma
vilrimma
25.09.2021 18:50

n = int(input())

list_my = []

a = 2

while n > 1:

   if n % a == 0:

       list_my.append(a)

       n = n/a

   else:

       a += 1

print(list_my)

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота