我不明白这段代码它最后的结果为什么是对的?getchar()是个什么函数呃?结构怎么这么复杂,有没有简化一点的方法呢?
#include<iostream>using namespace std;
int main()
{
int x,i,y;
for(x=1;x<=1000;x++)
{
y=0;
for(i=1;i<x;i++)
{
if(x%i==0)
y=y+i;
}
if(y==x)
{
cout<<x<<",its factors are 1";
for(i=2;i<x;i++)
{
if(x%i==0)
cout<<','<<i;
}
cout<<endl;
}
}
x=getchar();
return 0;
}