C语言程序如下:
创新互联公司主要从事成都网站设计、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务科尔沁左翼,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
#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),将要判断的数据输入进来,之后运用循环条件来判断。
#includestdio.h
int main()
{
int n;
scanf("%d",n);
int i,p=1;
for(i=2;i*i=n;i++)
{
if(n%i==0)
{
if(i*i!=n)
p+=(i+n/i);
else
p+=i;
}
}
if(p==n)
printf("Yes\n");
else
printf("No\n");
return 0;
}
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;
}