Простая факторизация с использованием понимания списка в PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Простая факторизация с использованием понимания списка в Python

Сообщение Anonymous »

Как написать функцию, которая возвращает список кортежей типа (ci, ki) для n таких, что n = c1k1 c2k2 ... ci ki — это простое число?
Например: 12600 = 23 · 32 · 52 · 7 1
Желаемый результат: [(2, 3), (3, 2), (5, 2), (7, 1)]
Я знаю, как это сделать с помощью while, но возможно ли это сделать, используя понимание списка? В этой задаче эффективность не требуется.
# naive function
def is_prime(n):
return n > 1 and all(n % i != 0 for i in range(2, n))

# while version
def factorization_while(n):
res = []
for i in range(1, n + 1):
if is_prime(i):
j = 0
while n % i == 0:
n = n // i
j += 1
if j != 0:
res.append((i, j))
return res

# list comprehension version
def factorization(n):
return [
(i, j) for i in range(1, n + 1) if is_prime(i) \
and n % i == 0 ... # add smth
]


Подробнее здесь: https://stackoverflow.com/questions/530 ... -in-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Простая факторизация с использованием понимания списка в Python
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Простая факторизация с использованием понимания списка в Python
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Простая факторизация с использованием понимания списка в Python
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Простая факторизация с использованием понимания списка в Python
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Простая факторизация с использованием понимания списка в Python
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»