题目描述
一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6的因子为1,2,3,而6=1+2+3;因此是“完数”。编程对输入的数字(假设该数字小于1000)判断是否是“完数”并输出其所有因子。
输入
判断的次数和每次输入的数字
输出
该数是否完数和其所有因子
样例输入:
3
5
32
6
样例输出:
no,1
no,1,2,4,8,16
yes,1,2,3
n=int(input())
while n:
n=n-1
num=int(input())
sum=0
str=""
for i in range(1,int(num/2)+2):
if num%i==0:
sum+=i
str+=","
str+=i.__str__()
if sum==num:
out="yes"+str
else:
out="no"+str
print(out)