前言:
眼前同学们对“python完数”大约比较着重,大家都想要剖析一些“python完数”的相关知识。那么小编也在网上汇集了一些有关“python完数””的相关文章,希望大家能喜欢,我们快快来学习一下吧!题目
一个数如果恰好等于它的因子之和,这个数就称为“完数” 。例如6=1+2+3,编程找出1000 以内的所有完数。
python实现:
if __name__ == '__main__':
for n in range(1,1000):
f=[] #声明一个list用于存储所有因子,判定下一个数时,清空
sumn=0 #每次判定下一个数是否为完数前,清空
for i in range(1,int(n/2)+1): #因子只有在数值一半以内出现,PS:“/"结果是浮点数,range函数参数必须为整数,所以强制转换
if n%i==0 : #表明i是因子
f.append(i) #保存因子
for j in range(0,len(f)):
sumn+=f[j] #求出所有因子之和
if sumn==n:
print('%3d = %3d'%(sumn,f[0]),end='') #end=‘’表示可将多个print结果在同行打印
for k in range(1,len(f)):
print(' + %3d' % f[k],end='')
print('')
运行结果:
>>>
==================== RESTART: D:/PythonTraining/wanshu.py ====================
6 = 1 + 2 + 3
28 = 1 + 2 + 4 + 7 + 14
496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248
每日更新python经典练习题,助你从小白进阶到高手
标签: #python完数 #python例题1000道要记吗 #一千以内的素数编程 #python因子之和等于完数 #python因子之和完数