初识python: 递归函数 - 分解质因数
分解质因数: 任何一个合数都可以写成几个质数相乘的形式。其中每个质数都是这个合数的因数,叫做这个合数的分解质因数。分解质因数只针对合数。
比如:
8 分解质因数是:2*2*2
10分解质因数是:2*5
4分解质因数是:2*2
此处使用 python 递归函数 实现对一个数的质因数分解。
代码如下:
#!/user/bin env python # author:Simple-Sir # time:2019/8/19 16:55 # 分解质因数 li = [] def fun(n): if n != 1: for i in range(2, n+1): if n % i == 0: if n/i == 1.0: print('%d已经无法再分解!' % (n)) li.append(i) break else: print('%d已被%d分解:%d / %d = %d' % (n,i,n,i,int(n/i))) n = int(n / i) li.append(i) else: continue return fun(n) def main(n): fun(n) print('分解完成,{}的质因数是: {}'.format(n,li)) if __name__ == '__main__': main(90)
运行结果:
世风之狡诈多端,到底忠厚人颠扑不破;
末俗以繁华相尚,终觉冷淡处趣味弥长。
posted on 2019-08-19 17:29 Simple-Sir 阅读(3156) 评论(0) 编辑 收藏 举报