c語(yǔ)言函數(shù)打印完美數(shù) c語(yǔ)言輸出完美數(shù)

完美數(shù) C語(yǔ)言編程

完美數(shù)(Perfect number),又稱完全數(shù)或完備數(shù),是一些特殊的自然數(shù)。該數(shù)所有的真因子(即除了自身以外的約數(shù))的和(即因子函數(shù)),恰好等于本身。如果一個(gè)數(shù)恰好等于它的因子之和,則稱該數(shù)為“完美數(shù)”。

十多年專注成都網(wǎng)站制作,企業(yè)網(wǎng)站建設(shè),個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識(shí)、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站建設(shè),高端網(wǎng)頁(yè)制作,對(duì)成都VR全景等多個(gè)方面,擁有豐富的網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn)。

所以根據(jù)定義,可以得到判斷完美數(shù)的程序:

int?is_perfect_number(int?n)//對(duì)n進(jìn)行判斷,如果是完美數(shù),返回1,否則返回0.

{

int?j,sum?=?0;

sum=0;

for(j=1;jn;j++)//對(duì)每個(gè)小于n的正數(shù)進(jìn)行遍歷,

if(n%j==0)//如果是因子,

sum=sum+j;//累加到sum上。

return?sum==n;//返回結(jié)果。

}

c語(yǔ)言現(xiàn)在要求輸出所有在m和n范圍內(nèi)的完美數(shù).

兩個(gè)問(wèn)題

1 結(jié)尾多打印了一個(gè)。

u為找到完美數(shù)的個(gè)數(shù)。 所以打印應(yīng)該是從a[0]到a[u-1]

不應(yīng)該打印a[u]

按照你的寫(xiě)法, 循環(huán)應(yīng)該是for(i = 0; i u-1; i ++)

然后下面一行打印a[u-1]

2 沒(méi)有處理u=0的情況。 單獨(dú)判斷一下, u=0時(shí),輸出No

用從C語(yǔ)言設(shè)計(jì)完全數(shù)函數(shù)

我寫(xiě)了一個(gè),在vs上運(yùn)行正常,供參考:

#include stdio.h

unsigned int inputArg1,inputArg2;

int isPrefect(int);

void printPrefect(int);

int main(void)

{

int count = 0;

int i;

start:

count = 0;

printf("請(qǐng)輸入第一個(gè)參數(shù):\n");

scanf("%d",inputArg1);

printf("請(qǐng)輸入第二個(gè)參數(shù):\n");

scanf("%d",inputArg2);

for (i = inputArg1;i = inputArg2; i ++)

{

if (isPrefect(i))

{

printPrefect(i);

count ++;

}

}

printf("完全數(shù)的個(gè)數(shù)為: %d \n\n\n",count);

goto start;

return 0;

}

int isPrefect(int num)

{

int j;

int sum = 0;

for (j = 1;j = num / 2;j ++)

{

if (num % j == 0)

{

sum += j;

}

}

if (sum == num)

{

return 1;

}

else

{

return 0;

}

}

void printPrefect(int num)

{

int i;

printf("%d = ",num);

for (i = 1;i = num / 2; i ++)

{

if (num % i == 0)

{

printf("%d + ",i);

}

}

printf("\b\b \n");

}

c語(yǔ)言用函數(shù)輸出完數(shù)

#includestdio.h

int?main()

{

int?i,n,sum;

int?a,b;

scanf("%d%d",a,b);

for(n=a;n=b;n++)

{

sum=0;

for(i=1;in;i++)

{

if(n%i==0)

{sum=sum+i;}

}

if(sum==n)

{printf("%4d",n);}

}

return?0;

}

運(yùn)用c語(yǔ)言輸出100以內(nèi)所有的完全數(shù)

1、首先打開(kāi)vs 2017軟件,打開(kāi)一個(gè)準(zhǔn)備好的工程,新建一個(gè)C語(yǔ)言文件,先寫(xiě)入頭文件和main函數(shù),里面定義需要的用到的4個(gè)變量。

2、然后先定義一個(gè)for循環(huán)遍歷100以內(nèi)的所有數(shù),利用條件語(yǔ)句進(jìn)行判斷j是不是i的因子,是的話就相加,判斷完成后在判斷因子是不是和原來(lái)的數(shù)相等即可,盤(pán)點(diǎn)完輸出完成判斷的數(shù)字,如此往復(fù)直到判斷完100個(gè)數(shù)為止。

3、最后按Crtl+F10運(yùn)行程序,可以看到100以內(nèi)的完數(shù)都輸出了。

C語(yǔ)言算法題 完美數(shù)

#include stdio.h

void main(){

int s,i,j;

for(s=2;s=1000;s++)

{

j=0;

for(i=s-1;i0;i--)

{

if(s%i==0){j=j+i;}

}

if(s==j)

{

printf("完數(shù):%d the factors are ",s);

for(i=1;is;i++)

{

if(s%i==0){printf("%d,",i);}

}

printf("\n");

}

}

}

當(dāng)前標(biāo)題:c語(yǔ)言函數(shù)打印完美數(shù) c語(yǔ)言輸出完美數(shù)
鏈接URL:http://muchs.cn/article4/hjdgie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、網(wǎng)站改版、網(wǎng)站排名、動(dòng)態(tài)網(wǎng)站、Google、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化