#參考http://www.cnblogs.com/iderek/p/5959318.html
n
=
num
=
int
(
input
(
'請輸入一個數字:'
))
#用num保留初始值
f
=
[]
#存放質因數的列表
for
j
in
range
(
int
(num
/
2
)
+
1
):
#判斷次數僅需該數字的一半多1次
for
i
in
range
(
2
, n):
t
=
n
%
i
#i不能是n本身
if
t
=
=
0
:
#若能整除
f.append(i)
#則表示i是質因數
n
=
n
/
/
i
#除以質因數后的n重新進入判斷,注意應用兩個除號,使n保持整數
break
#找到1個質因數后馬上break,防止非質數卻可以整除的數字進入質因數列表
if
len
(f)
=
=
0
:
#若一個質因數也沒有
print
(
'該數字沒有任何質因數。'
)
else
:
#若至少有一個質因數
f.append(n)
#此時n已被某個質因數整除過,最后一個n也是其中一個質因數
f.sort()
#排下序
print
(
'%d=%d'
%
(num, f[
0
]), end
=
'')
for
i
in
range
(
1
,
len
(f)):
print
(
'*%d'
%
f[i], end
=
'')