x=int(input())
def isPrime(n): #目的返回第一个能够整除的数 使用的素数筛选法的思想
i = 3
while i * i <= n:
if n % i == 0:
return i
i += 2
return n
if x%2==0: #分为奇数偶数分别处理 奇数和素数只有一个除数,而偶数存在多个
if x==2:
print(1)
print(x)
else:
first=x #第一个因数
maxcount=0 #最多有几个连续的因数
for i in range(2,x):
count=0
start=i
tmp=x
while tmp%start==0: #开始判断有几个连续的因数
count+=1
tmp=tmp//start
start+=1
if start-i>maxcount:
maxcount=start-i
first=i
print(maxcount)
res=[first]*maxcount
for i in range(1,maxcount):
res[i]=res[i]+i
print("*".join([str(i) for i in res]))
else:
print(1)
print(isPrime(x))
其他方面参考这篇博文
https://blog.youkuaiyun.com/jmlikun/article/details/49968399