接上文,开方的思路:如果一个数不是素数是合数, 那么一定可以由两个自然数相乘得到, 其中一个大于或等于它的平方根,一个小于或等于它的平方根。并且成对出现。
num = int(input())
def getprime(n):
i = 2
while i * i <= n:
while n % i == 0:#比如输入49,内循环是会执行两次!
n = n // i
print(i, end=" ")
i = i + 1
if n - 1: #判断输入是不是质数,质数只有1和自身的乘积等于这个数
print(n, end=" ")
getprime(num)