完數的編程
#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三個數字。