python递归调用实现整数的因数分解

# -*- coding: utf-8 -*-
"""
Created on Mon Oct 21 21:16:27 2019@author: asus
""""""
递归调用实现整数的因数分解
"""##from random import randint#总的来说,else是for、while、try语句中‘没毛病’时才执行,
#而在if..else语句中是if语句判断为假(有毛病)才执行else,这一点要区分开来
def factors(num,fac = []):#每次都从2开始查找因数for i in range(2,int(num ** 0.5) + 1):#找到一个因数if num % i == 0:fac.append(i)print(num)#对商继续分解,重复这个过程factors(num // i,fac)#注意,这个break很重要breakelse:#不可分解了,自身也是这个因数fac.append(num)facs = []
n = 100
factors(n,facs)
result = '*'.join(map(str,facs))
if n == eval(result):print(n,"= " + result)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部