题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
import math
def is_prime(number) -> bool:
number = int(number)
if number == 1:
return False
for t in range(2, int(math.sqrt(number) + 1)):
if not number % t:
return False
return True
def cout_order_prime(number):
if number <= 3 and number!=1:
print(number,end=' ')
return
# 1.find the minimum prime
min_prime = -1
if is_prime(number):
min_prime = number
else:
for t in range(2, int(math.sqrt(number) + 1)):
if not number % t and is_prime(t):
min_prime = t
break
# 2.continue to call this function
if min_prime!=-1:
print(min_prime,end=' ')
else:
return
cout_order_prime(int(number / min_prime))
a = int(input())
cout_order_prime(a)
def is_prime(number) -> bool:
number = int(number)
if number == 1:
return False
for t in range(2, int(math.sqrt(number) + 1)):
if not number % t:
return False
return True
def cout_order_prime(number):
if number <= 3 and number!=1:
print(number,end=' ')
return
# 1.find the minimum prime
min_prime = -1
if is_prime(number):
min_prime = number
else:
for t in range(2, int(math.sqrt(number) + 1)):
if not number % t and is_prime(t):
min_prime = t
break
# 2.continue to call this function
if min_prime!=-1:
print(min_prime,end=' ')
else:
return
cout_order_prime(int(number / min_prime))
a = int(input())
cout_order_prime(a)