问题及代码:
#include <iostream>
using namespace std;
int main()
{
int i,j,n;
for (i=1; i<=1000; ++i)
{
for (j=1,n=0; j<i; ++j)
{
if (i%j==0)n=n+j;
}
if (i==n)
{
cout<<i<<" "<<"its factors are ";
for (j=1; j<n; ++j)if (i%j==0)cout<<j<<".";
cout<<endl;
}
}
return 0;
}
运行结果:
学习心得:
之前把if用成while,造成程序没有输出。