安卓开发日记31
今天进行python的小测试
7-1 找出一个整数的所有素因子
分数 20
作者 季江民
单位 浙江大学
编写程序读取一个整数,然后显示它所有的最小因子,也称之为素因子。
例如:如果输入整数为150, 那么输出应该如下:2,3,5,5
输入格式:
在一行中输入一个整数。
输出格式:
在一行输出所有的素因子,以逗号分隔。
输入样例:
150 |
输出样例:
2,3,5,5 |
def find_prime_factors(n):
factors = []
# 先处理掉2的因子
while n % 2 == 0:
factors.append(2)
n = n // 2
# 处理奇数因子
for i in range(3, int(n**0.5) + 1, 2):
while n % i == 0:
factors.append(i)
n = n // i
# 如果n是一个大于2的素数
if n > 2:
factors.append(n)
return factors
# 读取输入
number = int(input())
# 找到所有的素因子
prime_factors = find_prime_factors(number)
# 输出素因子,以逗号分隔
print(",".join(map(str, prime_factors)))