完数的编程
#include<stdio.h>
void main()
{
int i,s,t;
printf("===1000以内所有的完数===\n");
for (i=1;i<=1000;i++)
{
t=0;
for (s=1;s<i;s++)
{
if (i%s==0)
t+=s;
}
if (t==i)
printf("%d,",i);
}
printf("\b \n");
}
这个是整体的思路,而格式的化你自己来设计吧!
㈡ C++编程题 输出完数
完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”。
#include<stdio.h>
int sum(int n)
{ int i,s=1;
for(i=2; i*i<n; i++)
if(n%i==0)s+=i+n/i;
if(i*i==n&&n%i==0)s+=i;
return s;
}
int main()
{ int n,i;
scanf("%d",&n);
for(i=2; i<=n; i++)
if(sum(i)==i)
printf("%d ",i);
return 0;
}
㈢ 用C语言编程:输出2~100之间所有完数,完数是指该数各因子之和等于该数本身
C语言程序如下:
#include <stdio.h>
int main()
{
long int i,j,sum;
for(i=2;i<100;i++)
{ sum=0;
for(j=2;j<=i/2;j++)
{
if(i%j==0)
{
sum=sum+j;
}
}
if(i==sum+1)
printf("%d ",i);
}
}
(3)完数的编程扩展阅读:
如果一个数恰好等于它的因子之和,则称该数为“完全数”。
第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。
第二个完全数是28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。
第三个完全数是496,有约数1、2、4、8、16、31、62、124、248、496,除去其本身496外,其余9个数相加,1+2+4+8+16+31+62+124+248=496。后面的完全数还有8128、33550336等等。
㈣ 1000以内的完数
求1000以内的完数的C语言代码如下:
完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。
如果一个数恰好等于它的真因子之和,则称该数为“完全数”。第一个完全数是6,第二个完全数是28,第三个完全数是496,33550336等等。截至2018年,相关研究者已经找到51个完全数。
完数,即完美数,一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3.(6的因子是1,2,3)。
#include <stdio.h>
int main()
{
int n=1000;
int r,j,i;
for(i=1;i<=n; i++){
r = 0;
for(j=1;j<i;j++){
if(i%j == 0){
r = r + j;
}
}
if(r == i){
printf("the result is:%d ",r);
}
}
return 0;
}
输出结果为: 6,28,496,
即1000以内的完数只有6、28、496三个数字。