一个整数的因子是能够整除它的整数。
包括1但是不包括它本身.
不过我们一般考虑的是正整数,比如8的因子有1,2,4和8。如果除去这个整数本身就是真因子了。
6是一个非常"完善"的数,与它的因数之间有一种奇妙的联系。6的因数共有4个:l、2、3、6,除了6自身这个因数以外,其他的3个都是它的真因数,数学家们发现:把6的所有美因数都加起来,正好等于6这个自然数本身!
数学上,具有这种性质的自然数叫做完全数。例如,28也是一个完全数,它的真因数有 1、2、4、7、14,而 1+2+4+7+14正好等于28。
一般的大家都认为,1不是完全数.
/* 完全数 */
#include "stdio.h"
#include "conio.h"
main()
{
int i,j,n,w,flag=0,a[50],sum;
/*以是输入一个数的*/
printf("请输入一个正整数:\n");
scanf("%d",&n);
/*以下是求不大于该数的完全数的*/
printf("不大于%d的数中,",n);
for(w=1;w<=n;w++)
{
j=1;
sum=0;
for(i=1;i<w;i++)
{
if(w%i==0)
{
a[j]=i;
j++;
}
}
for(i=1;i<j;i++)
{
sum=sum+a[i];
}
if(sum==w)
{
printf("\n%d是完全数.它的因子为:",w);
for(i=1;i<j;i++)
printf("%8d",a[i]);
flag=1;
}
}
if(flag==0)
printf("没有完全数.");
return 0;
getch();
}
温馨提示:答案为网友推荐,仅供参考