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

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. А ещё надо удрать в конце звездочку.
Заранее .

Ответ:
егор22813371111
егор22813371111
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 оценок)
Ответ:
fakersot
fakersot
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
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?