Сделал 18 задание Параграф 2.3
This commit is contained in:
parent
3c01643715
commit
92da87b890
37
2.3_lesson.18.20.py
Normal file
37
2.3_lesson.18.20.py
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
''' ****** Задание 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))
|
||||
Loading…
Reference in a new issue