用c語言編寫水仙花數(shù)函數(shù) c語言,水仙花

“水仙花數(shù)”C語言程序

代碼如下:

創(chuàng)新互聯(lián)長期為近千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為南皮企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、做網(wǎng)站,南皮網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

#include stdio.h

int main()

{

printf("輸出水仙花數(shù):\n");

int i=100;

for( ; i1000; i++){

int num_0 = i%10;

int num_1 = i/10%10;

int num_2 = i/10/10%10;

if(i==(num_0*num_0*num_0+num_1*num_1*num_1+num_2*num_2*num_2))

printf("%d\t", i);

}

return 0;

}

擴(kuò)展資料:

自冪數(shù)是指一個(gè) n 位數(shù),它的每個(gè)位上的數(shù)字的 n 次冪之和等于它本身。

n為1時(shí),自冪數(shù)稱為獨(dú)身數(shù)。顯然,0,1,2,3,4,5,6,7,8,9都是自冪數(shù)。

n為2時(shí),沒有自冪數(shù)。

n為3時(shí),自冪數(shù)稱為水仙花數(shù),有4個(gè):153,370,371,407;

n為4時(shí),自冪數(shù)稱為四葉玫瑰數(shù),共有3個(gè):1634,8208,9474;

n為5時(shí),自冪數(shù)稱為五角星數(shù),共有3個(gè):54748,92727,93084;

n為6時(shí),自冪數(shù)稱為六合數(shù), 只有1個(gè):548834;

n為7時(shí),自冪數(shù)稱為北斗七星數(shù), 共有4個(gè):1741725,4210818,9800817,9926315;

n為8時(shí),自冪數(shù)稱為八仙數(shù), 共有3個(gè):24678050,24678051,88593477;

n為9時(shí),自冪數(shù)稱為九九重陽數(shù),共有4個(gè):146511208,472335975,534494836,912985153;

n為10時(shí),自冪數(shù)稱為十全十美數(shù),只有1個(gè):4679307774。

參考資料:

百度百科——水仙花數(shù)

求水仙花數(shù)的C語言實(shí)現(xiàn)

#includestdio.h

int sxh(int number);//sxh=水仙花數(shù)

int main()

{

int i;

printf("輸出1-10000間的水仙花數(shù):");

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

{

if(sxh(i))

printf("%5d",i);

}

printf("\n");

return 0;

}

int sxh(int number) ? ? //定義判斷水仙花數(shù)的函數(shù)

{

int sum=0,item,count=1,i=1,temp;

temp=number;

while(temp=10)

?{

count++; ? ? //判斷位數(shù)

temp/=10;

?}

?temp=number;

?while(i=count)

?{

? item=temp%10;

temp/=10;

sum=sum+item*item*item;

i++;

?}

?if(sum==number)

?return 1;

?else

?return 0;

}

c語言怎么編寫水仙花數(shù)?

方法:先弄懂什么是水仙花數(shù)::

水仙花數(shù)是指一個(gè)n(=3)位數(shù)字的數(shù),它等于每個(gè)數(shù)字的n次冪之和。

3位水仙花數(shù)————先定義3個(gè)數(shù)其中一個(gè)為1--9;2個(gè)為0--9;(用for循環(huán))

再用如果a定義為1--9那么用100*a來表示百位;如果b或者c定義是0--9那么用10*b或者10*c來表示十位;那么下面用c或者b來表示個(gè)位;

if(100*a+10*b+c==a*a*a+b*b+c) 如果滿足這個(gè)條件那么:輸出的printf("%d%d%d",a,b,c)就是3位數(shù)的水仙花數(shù):

4位水仙花數(shù)方法同上:

剛寫的:調(diào)試過了

#include stdio.h

int main(void)

{

int a,b,c,d;

system("cls");

for(a=1;a=9;a++)

for(b=0;b=9;b++)

for(c=0;c=9;c++)

if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)

printf("%d%d%d\n",a,b,c);

for(a=1;a=9;a++)

for(b=0;b=9;b++)

for(c=0;c=9;c++)

for(d=0;d=9;d++)

if(1000*a+100*b+10*c+d==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)

printf("%d%d%d%d\n",a,b,c,d);

getch();

}

或者這樣:

#include stdio.h

int main(void)

{

int a,b,c,d;

system("cls");

for(a=1;a=9;a++)

for(b=0;b=9;b++)

for(c=0;c=9;c++)

{

if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)

printf("%d%d%d\n",a,b,c);

for(d=0;d=9;d++)

if(1000*a+100*b+10*c+d==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)

printf("%d%d%d%d\n",a,b,c,d);

}

getch();

}

c語言水仙花數(shù)

#include stdio.h

int main()

{

int start, end, i = 0, a, b, c, size = 0;

while (scanf("%d %d", start, end) == 2)

{

for (i = start; i = end; i++)

{

a = i / 100;

b = i / 10 % 10;

c = i % 10;

//total = pow(c, 3) + pow(a, 3) + pow(b, 3);

if ((a*a*a + b*b*b + c*c*c) == i)? //滿足水仙花條件

{

if (size == 0)? ?//size=0輸出第一個(gè)水仙花數(shù)

{

printf("%d", i);

}

else? ? ?//size++輸出第二。。第n個(gè)水仙花數(shù)

{

printf(" %d", i);

}

size++;? ?//個(gè)數(shù)++;

}

}

if (size == 0)? ?//范圍內(nèi)個(gè)數(shù)為0,則說明沒有滿足條件的

{

printf("no");

}

printf("\n");

}

return 0;

}

擴(kuò)展資料:

需要注意的地方:

1.將n整除以100,得出n在百位上的數(shù)字hun。

2.將(n-i*100)整除以10(或?qū)先整除以10再對10求模n/10%10),得出n在十位上的數(shù)字ten。

3.將n對10取余,得出n在個(gè)位上的數(shù)字ind。

4.求得這三個(gè)數(shù)字的立方和是否與其本身相等,若相等,則該數(shù)為水仙花數(shù)。

參考資料:

百度百科-水仙花數(shù)

網(wǎng)頁名稱:用c語言編寫水仙花數(shù)函數(shù) c語言,水仙花
當(dāng)前路徑:http://muchs.cn/article32/dosposc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、定制網(wǎng)站動(dòng)態(tài)網(wǎng)站、外貿(mào)建站、網(wǎng)站導(dǎo)航自適應(yīng)網(wǎng)站

廣告

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

小程序開發(fā)