c语言完数的函数编程 c++语言编程求1000以内的完数

c语言编程:求(2,2000)中的完数

完数,即完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。其所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于本身。

专注于为中小企业提供成都网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业土默特左旗免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

根据该定义 可以得出判断完数的函数如下:

#include stdio.h

int is_perfect_number(int n)

{

int i,s=0;

for(i = 1; i =n/2; i ++)

if(n%i == 0) s+= i;//统计所有真因子的和。

if(s == n) return 1;//如果与原值相等,则该数为完数。

return 0;//不是完数。

}

根据该函数,只需要对需要打印的范围内2 ~2000做遍历,并逐一调用该函数判断,如果返回1则打印即可。

完整代码如下:

#include stdio.h

int is_perfect_number(int n)

{

int i,s=0;

for(i = 1; i =n/2; i ++)

if(n%i == 0) s+= i;//统计所有真因子的和。

if(s == n) return 1;//如果与原值相等,则该数为完数。

return 0;//不是完数。

}

int main()

{

int n;

for(n = 3; n  2000; n++)

if(is_perfect_number(n)) printf("%d,",n);

}

c语言用函数输出完数

#includestdio.h

int main()

{

int i,n,sum;

int a,b;

scanf("%d%d",a,b);

for(n=a;n=b;n++)

{

sum=0;

for(i=1;in;i++)

{

if(n%i==0)

{sum=sum+i;}

}

if(sum==n)

{printf("%4d",n);}

}

return 0;

}

C语言程序设计 求完数

#include stdio.h

#includemath.h

int w(int x)

{

int i,sum=1;

for(i=2;i=sqrt(x);i++)

{

if(x%i==0)

{

sum+=i+x/i; 

}

}

if(sum==xx!=1)

{

return 1;

}

else

{

return 0;

}

}

int main()

{

int i,n,m,a[10],j;

scanf("%d%d",n,m);

for(i=n,j=0;i=m;i++)

{

if(w(i))

{

a[j++]=i;

}

}

if(j==0)

{

printf("NIL\n");

}

else

{

for(i=0;ij;i++)

{

if(ij-1)

{

printf("%d ",a[i]);

}

else

{

printf("%d",a[i]);

}

}

}

return 0;

}

求高人用C语言函数写一个关于完数的代码

void Solve(int num)

{

int sum = 0;

int i = 0;

if (num == 0)

{

printf("No\n");

}

else if (num == 1)

{

printf("Yes, its factors are %d\n", num);

}

else

{

for (i = 1; i num; i++)

{

if (num % i == 0)

{

sum += i;

}

}

if (sum == num)

{

printf("Yes, its factors are ");

for (i = 1; i num; i++)

{

if (num % i == 0)

{

printf("%d ", i);

}

}

printf("\n");

}

else

{

printf("No\n");

}

}

}

int main() //链表建立测试

{

int n;

while(scanf("%d", n) != EOF)

{

Solve(n);

fflush(stdin); //防止输入字母造成死循环

}

return 0;

}

怎么用C语言编写程序来找出2~5000中的完数?

1、解题思路:所谓完数是一些特殊的自然数。如果一个数恰好等于它的因子之和,则称该数为“完全数”。先定义一个函数用于判断一个数是否是完数,接着依次从2到5000依次循环判断。

2、参考代码:

#include stdio.h

int fun(int n){//判断n是否是完数 

int i,sum=0;

for(i=1;in;i++)

if(n%i==0) sum+=i;

if(sum==i) return 1;

return 0;

int main ()

{

int i;

for(i=2;i5000;i++)

if(fun(i))

printf("%d ",i);

return 0; 

}

3、运行结果:6 28 496

C语言如何编写完数程序

#includestdio.h

void main()

{

int i,t(0),m;

printf("请输入一个数:");

scnaf("%d",m);

for(i=1;im;i++)

{

if(m%i==0)

t=t+i;

}

if (t==m)

printf("该数是完数");

else

printf("该数不是完数");

}


网站名称:c语言完数的函数编程 c++语言编程求1000以内的完数
分享链接:http://ybzwz.com/article/hjocdd.html