怎样编一个求完数的程序啊?

来源:百度知道 编辑:UC知道 时间:2024/04/28 14:46:20
完数就是一个数的因数相加等于这个数,本身除外.比如说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++)