求1000以内的完全数大佬们看看有什么问题

int main()
{int a,n=1000,sum=0;
for(;n>=1;n--)
{a=n;
for(;a>=1;a--)
{if(n%a==0) sum=sum+a;}
if(n==sum) cout<<n;
}
}


 #include<stdio.h>
int main()
{
    int a,n=1000,sum=0;
    for(;n>=1;n--)
    {
        a=n;
        sum=0;
        for(;a>=1;a--)
        {
            if(n%a==0 && n!=a) 
            sum=sum+a;
        }
        if(n==sum) 
            cout<<n<<"\n";
    }
    return 0;
}

img

img

sum=0放在外层循环里