网站建设资讯

NEWS

网站建设资讯

c语言函数输出完数 c语言输出10000以内的完数

C语言函数输出完数和因子

这是我编写的 你编写的 要注意 每次进行外循环都要把 s初始化为 0 否则就是用上一次的值

创新互联公司专注于浙江企业网站建设,响应式网站建设,商城网站定制开发。浙江网站建设公司,为浙江等地区提供建站服务。全流程按需定制设计,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务

#include stdio.h

int main()

{

int i,j,n,sum;

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

scanf("%d",n);

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

{

sum=0;

for(j=1;ji;j++)

if(i%j==0)

sum+=j;

if(sum==i)

{

printf("完数为:%d\t它的约数是:",i);

for(j=1;ji;j++)

if(i%j==0)

printf("%4d",j);

printf("\n");

}

}

return 0;

}

C语言求完数

/*完数,即完美数,一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3.(6的因子是1,2,3)*/

#includestdio.h

void main()

{

int i,j,k,h,s,sum;

int a[200];//20个是不够的

s=0;

sum=0;

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

{

s=0;//此处s=0一定要加,因为前几次循环的时候s的值已经改变

k=0;

for(j=1;ji;j++)

{

if((i%j)==0){a[k]=j;k++;}

}

for(h=0;hk;h++)

{

s+=a[h];

}

if(i==s){printf("%d ",i);sum++;}

}

printf("完数的个数:%d\n",sum);

}

时间太紧,没注意程序的简洁性和效率,这个需要你自己改了!

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语言打印“完数”

完数,即完全数(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;//不是完数。

}

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


分享文章:c语言函数输出完数 c语言输出10000以内的完数
文章位置:http://njwzjz.com/article/hipehp.html