python练习题程序19
Posted yelublue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python练习题程序19相关的知识,希望对你有一定的参考价值。
#题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。 def suoyou(n):#找到所有因子 s = [] for i in range(1,n+1): if n % i ==0: s.append(i) s = s[:len(s)-1] x = 0 # print(‘所有银子‘,s) for i in s: x +=i return x def zhengchu(n):#因式分解 for i in range(2, n + 1): if n % i == 0: k = int(n / i) m.append(i) return zhengchu(k) else: continue if m == []: n = n + 1 else: y = [str(x) for x in m] # print (y) t1 = ‘*‘.join(y) n1 = eval (t1) # print(‘suoyou‘,suoyou(int(X))) if int(n1) == suoyou(int(X)): print (‘%s 为完数‘% X) for n in range(1,1001): # print(‘ha‘,n) X = str(n) m = [] zhengchu(n)
以上是关于python练习题程序19的主要内容,如果未能解决你的问题,请参考以下文章