问题求助:C++基本问题-求1000以内的完数 的有关问题
这是我的代码
#include<iostream>
using namespace std;
int main()
{
int factor[10000];//问题就出在这里,这个因子数组的大小为什么不能是1000?(如果是1000的话,运行结果会缺少496这个答案,
// 我使用的Dev c++编译器会直接无结果)
for(int i=1;i<1000;i++)
{
for(int j=1;j<i;j++)
{
if(i%j==0)factor[i]+=j;
}
if(factor[i]==i)//判断数i是否是完数,如果是,输出它的因子
{
cout<<i<<','<<"it factors are ";
for(int j=1;j<i;j++)
{
if(i%j==0)
{
if(j==1)cout<<j;//这里是格式控制,不重要
else cout<<','<<j;
}
}
cout<<endl;
}
}
return 0;
}
c++萌新,望各位不吝赐教,谢谢!