37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
''' ****** Задание 18(R) из 20 Параграф 2.3 *********
|
||
* Математика, "простые числа" и цикл while.
|
||
|
||
"Простые числа" не поддаются формализации и до сих пор изучаются учеными по всему миру.
|
||
Они применяются в вычислительной техники, как основа для алгоритмов шифрования данных.
|
||
|
||
Напишите программу для разложения числа на простые множители.
|
||
|
||
Формат ввода
|
||
Вводится одно натуральное число.
|
||
|
||
Формат вывода
|
||
Требуется составить математическое выражение – произведение простых неубывающих чисел, которое в результате дает исходное.
|
||
|
||
Пример 1
|
||
Ввод
|
||
|
||
120
|
||
Вывод
|
||
|
||
2 * 2 * 2 * 3 * 5
|
||
'''
|
||
|
||
|
||
if __name__ == "__main__":
|
||
n = int(input())
|
||
factor = 2
|
||
result = []
|
||
|
||
while n > 1:
|
||
if n % factor == 0:
|
||
result.append(str(factor))
|
||
n //= factor
|
||
else:
|
||
factor += 1
|
||
|
||
print(' * '.join(result)) |