编写程序,用户从键盘输入小于1000的整数,对其进行因式分解。例如,10=2×5,60=2×2×3×5。
1)Python 3.4.2代码
x = input('Please input an integer less than 1000:') x = eval(x) t = x i = 2 result = [] while True: if t==1: break if t%i==0: result.append(i) t = t/i else: i+=1 print(x,'=','*'.join(map(str,result)))
2)Python 2.7.8 代码
x = input('Please input an integer less than 1000:') t = x i = 2 result = [] while True: if t==1: break if t%i==0: result.append(i) t = t/i else: i+=1 print x,'=','*'.join(map(str,result))
#coding=utf-8
# 编写程序,用户从键盘输入小于1000的整数,对其进行因式分解。例如,10=2×5,60=2×2×3×5。
def division(n):
res = []
i = 3
while True:
if n == 1:
break
elif n % 2 == 0:
res.append(2)
n = n / 2
elif n % i == 0:
res.append(i)
n = n / i
else:
i += 2
return res
while True:
try:
s = eval(raw_input())
res = division(s)
# res = [str(n) for n in res]
print s, '=', 'x'.join(map(str, res))
except:
break