求“完数”,为什么我的代码什么也输出不了

#include
#include
using namespace std;
int main()
{int n=2,S=0,c;
while(n<=1000)
{auto i=1;
while(i<n)
{c=n%i;
if(c==0) S=S+i;
i++;}
if (S==n)
cout<<S;
n++;
}
return 0;}