从零开始python案例008分解质因数

来源:互联网 发布:淘宝卖家设置评论有礼 编辑:程序博客网 时间:2024/06/16 00:02

题目:分解质因数,例如:用户输入90,则打印90 = 2*3*3*5

print('----分解质因数----')def is_prime(x):for a in range(2,x):if x%a == 0:return Falsereturn Truedef decomp_prime(x):for p in l_prime:while x % p == 0:x = x / pdecomp_prime_list.append(p)return xdecomp_prime_list = []inp_num = int(input('请输入一个>2的正整数:'))l_prime = [x for x in filter(is_prime,range(2,inp_num + 1))]if inp_num in l_prime:print('%d的质因数是它本身'%inp_num)else:decomp_prime(inp_num)decomp_prime_str = [str(x) for x in decomp_prime_list]L = '*'.join(decomp_prime_str)print(inp_num,'=',L)

先判断自身本身是否为质数,再进行分解