1088:练6.4 求完全数
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 429 通过数: 229
【题目描述】
求正整数2和n之间的完全数(一行一个数)。
完全数:因子之和等于它本身的自然数,如6=1+2+3
【输入】
输入n(n≤5000)。
【输出】
一行一个数,按由小到大的顺序。
【输入样例】
7
【输出样例】
6
def wq(x):
s=0
for i in range(1,x):
if x%i==0:
s=s+i
if s==x:
return True
else:
return False
num=int(input())
for i in range(2,num+1):
if wq(i):
print(i)
def fun(n):
s = {1}
for i in range(2,int(n**0.5)+1):
if n%i==0:
s.add(i)
s.add(n//i)
return sum(s)==n
n = int(input())
for i in range(2,n+1):
if fun(i):print(i)
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!