Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from math import floor, sqrt
- def decompose(number):
- """
- Раскладывает число на простые множетели.
- Принимает агрумент number (int) -- целое число больше нуля.
- Возвращает (list of int) -- упорядоченный по возростанию список простых чисел.
- """
- result = []
- for i in range(2, floor(sqrt(number)) + 1):
- while number % i == 0:
- number //= i
- result += [i]
- if number > 1:
- result += [number]
- return result
- def show(numbers, mult=' * ', power='^'):
- """
- Представляет результат функции decompose в удобочитаемом виде.
- Принимаемые аргументы:
- numbers (list of int) -- упорядоченный по возростанию список простых чисел.
- mult (str) -- строковый вид операции умножения. Примеры: ' * ', '*'.
- power (str) -- строковый вид операции возведения в степень. Примеры: '^', '**'.
- Возвращает (str) -- строка вида '2^3 * 3^3 * 5'.
- """
- basis = numbers[0];
- extent = 0;
- def show_multiplier():
- if extent == 1:
- print(basis, end='')
- else:
- print('%d%s%d' % (basis, power, extent), end='')
- for number in numbers:
- if number == basis:
- extent += 1
- else:
- show_multiplier()
- print(mult, end='')
- basis = number
- extent = 1
- show_multiplier()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement