电话客户管理软件:怎样编一个求完数的程序啊?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 19:53:15
完数就是一个数的因数相加等于这个数,本身除外.比如说6就是完数,6=1+2+3.

#include"stdio.h"
main()
{
int i,j,k=0,l=0;
scanf("%d",&i);/*给定一个范围*/
for(j=1;j<i;j++)
{ k=0;l=0;
for(k=1;k<i;k++)
{
if(j%k==0)l+=k;
}
if(l==j)printf("%d\n",l);
}
}
随手写的,自己再调调

我认为这样最简单……以下是求1000以内的“完数”的程序:
#include<stdio.h>
main()
{
int n,k,sum;
for(n=1;n<=1000;n++)
{
sum=0;
for(k=1;k<n;k++) if(n%k==0)sum+=k;
if(sum==n)printf("%d\n",n);
}
}
运行过了……希望对你有帮助。

#include<stdio.h>
int main()
{
/*by Sai from:bbs.pczero.cn*/
int n,i,sum;

for(n=2;n<=1000;n++)
{
sum=0;
for(i=1;i<n;i++)
if(n%i==0)sum+=i;

if(sum==n){
printf("%d Its factors are:",n);

for(i=1;i<n;i++)
if(n%i==0)printf("%d ",i);

printf("\n");

}

}

}

#include <stdio.h>

int main()
{
int sum = 0;
int m;
printf("输入一个数字: ");
scanf("%d", &m);
for (int i = 1; i < m; ++i)
{
if (m % i == 0)
{
sum += i;
}
}
if (sum == m)
{
printf("%d是完数\n", m);
}
else
{
printf("%d不是完数\n", m);
}
return 0;
}