C语言程序如下:
为贵阳等地区用户提供了全套网页设计制作服务,及贵阳网站建设行业解决方案。主营业务为网站建设、成都网站设计、贵阳网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
#include "stdio.h"
int main()
{
int n,i,sum=0;//定义一个存放因子和的变量,以及需要判断的数n,和循环条件用到的i
printf("请输入需要判断的数:");
scanf("%d",n);//存放需要判断的数n
for(i=1;in;i++)//循环条件找出因子并累加
{
if(n%i==0)
sum+=i;
}
if(n==sum)
printf("%d 是完数\n",n);
else
printf("%d 不是完数\n",n);
return 0;
}
扩展资料:
程序思路
假设一个数为n,我们可以用循环条件,让n分别和1,2,3,4,5……n-1进行判断是否能被整除,我们可以通过取余(%)的方法来进行判断。如果判断出来取余结果为0,那么就把这些因子全部加起来,得到因子的和。
接下来,将因子的和与n进行比较,如果相等,那么就是完数,反之不是完数。
判断一个完数,就是运用基本输入函数(scanf),将要判断的数据输入进来,之后运用循环条件来判断。
1、打开c语言编辑器,新建一个C语言空白文件:
2、然后就可以开始编写代码了,这里完数的意思就是一个数等于它的因子之和,比如6的因子为1、2、3,而6刚好是这些数之和。根据完数的定义,程序要输入一个数的范围,接着计算出所选取的整数i的因子,将各因子累加到变量s ,若s等于i,则可确认i为完数:
3、最后运行查询,输入一个范围,程序就会自动查找这个范围内的数字里有那些完数,计算完成后会将其结果打印出来:
#includestdio.h
void
iswanshu(int
x);
void
main()
{
int
a;
printf("判断是否是完数:\n请输入一个整数:");
scanf("%d",a);
iswanshu(a);//调用下面的函数
}
//定义一个判断是否是完数的函数
void
iswanshu(int
x)
{
int
i,k;
for(i=1;ix;i++)
{
if
(x%i=0)
k=k+i;//如果被判断的那个数整除i余数为0则累加到k
}
//如果k等于x那输出的数就是完数
if(k=x)
{
printf("%d是完数\n",x);
printf("%d=1",x);
for(i=2;ix;i++)
{
if
(x%i=0)
printf("+%d",i);
}
printf("\n");
}
else
printf("%d不是完数!",x);
}
#includestdio.h
int IsPerfect(int n)
{int i,s=1;
for(i=2;i=n/2;i++)
if(n%i==0)s+=i;
return s==n;
}
int main()
{int n;
scanf("%d",n);
printf("%d is %sa perfect number\n",n,IsPerfect(n)?"":"not ");
return 0;
}