如何编程求1000之内的所有”完数”?

来源:百度知道 编辑:UC知道 时间:2024/03/28 17:43:53

用C++写了一个
#include<iostream>
using namespace std;
int main()
{
int m,s,i;
for(m=2;m<1000;m++) //定义了查找的范围,明显的1和0不是
{
s=0; //先赋值因子的和为0
for(i=1;i<m;i++)
{
if((m%i)==0)//求出m所有因子
s=s+i; //把所有m的因子相加
}
if(m==s) //如果m=他所有因子的和
{
cout<<m<<"是完数"<<endl; //就是完数
cout<<"its factors are:";
for(i=1;i<m;i++)//这里求完数的因子
if(m%i==0)
cout<<i<<" ";
cout<<endl;
}
}
return 0;

}
小弟是初学者 错误之处请改正;随便说一句,看上的话请交出您的分!谢谢

希望你看完能自己再编写次这样才能对你有提高。
#include <stdio.h>
void main()
{
int i,j,m,s,k,a[100];
for(i=1;i<=1000;i++)
{
m=i;
s=0;
k=0;