题目:
一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。
def foo(a): sra=a; lis=[1]; while 1: for i in range(2,a+1): if a%i==0: lis.append(i) a=a/i; break; if a==1: break; l=len(lis); sum=0; for i in range(0,l): sum=sum+lis[i]; if sum==sra: print sra for i in range(1,1000): foo(i)