百度在线笔试编程测试题(Python):整数分解成素数的积

时间:2023-03-09 15:24:44
百度在线笔试编程测试题(Python):整数分解成素数的积

编程测试题:

输入一个正整数将其分解成素数的乘积,输入格式连续输入m个数,然后将这m个数分别分解,如

输入:

2
10
20

输出:

2 5
2 2 5

Python code:

def primes(n):
primfac = []
d = 2
while d*d <= n:
while (n % d) == 0:
primfac.append(d)
n //= d
d += 1
if n > 1:
primfac.append(n)
return primfac s = int(raw_input())
i=0
fac=[]
N = []
while i<s:
N = N + [int(raw_input())]
i = i+1
i=0
while i<s:
j=0
fac = fac+[primes(N[i])]
for j in range(len(fac[i])):
print fac[i][j],
print
i=i+1