所謂的“水仙花數(shù)”是指一個三位數(shù)其各位數(shù)字的立方和等于該數(shù)本身,例如153是“水仙花數(shù)”,因為:153 = 1^3 + 5^3+ 3^3?。
創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、鳳凰網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5技術、電子商務商城網(wǎng)站建設、集團公司官網(wǎng)建設、成都外貿(mào)網(wǎng)站建設公司、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為鳳凰等各大城市提供網(wǎng)站開發(fā)制作服務。
下面是完整的C語言編程代碼:
運行結果:
result is:153? 370? 371? 407
擴展資料
常見水仙花數(shù)
水仙花數(shù)又稱阿姆斯特朗數(shù)。
1、三位的水仙花數(shù)共有4個:153,370,371,407;
2、四位的四葉玫瑰數(shù)共有3個:1634,8208,9474;
3、五位的五角星數(shù)共有3個:54748,92727,93084;
4、六位的六合數(shù)只有1個:548834;
5、七位的北斗七星數(shù)共有4個:1741725,4210818,9800817,9926315;
6、八位的八仙數(shù)共有3個:24678050,24678051,88593477
參考資料:百度百科:水仙花數(shù)
1、首先需要打開Dev-c++軟件,點擊“新建源代碼”。
2、然后按照如圖所示填寫代碼。
3、其中:a表示的是水仙花數(shù)的百位數(shù),b表示的是水仙花數(shù)的十位數(shù),c表示的是水仙花數(shù)的個位數(shù),sum表示的是所有累加下來的水仙花數(shù)。
4、if(sum==a*a*a+b*b*b+c*c*c)這一個程序步驟的作用是在規(guī)定查找的范圍內(nèi)找到符合這個條件的數(shù)。
5、注意a,b,c,sum的運算過程都是要在for 循環(huán)內(nèi)完成,不可以在外循環(huán)進行。
6、而且還要注意區(qū)分在賦予百位數(shù)、十位數(shù)、個位數(shù)的計算用的“/","%”的區(qū)別,“/”表示除后取整數(shù),“%”表示除后取余數(shù)。
7、最后點擊“運行”即可得出要找的結果了。
方法:先弄懂什么是水仙花數(shù)::
水仙花數(shù)是指一個n(=3)位數(shù)字的數(shù),它等于每個數(shù)字的n次冪之和。
3位水仙花數(shù)————先定義3個數(shù)其中一個為1--9;2個為0--9;(用for循環(huán))
再用如果a定義為1--9那么用100*a來表示百位;如果b或者c定義是0--9那么用10*b或者10*c來表示十位;那么下面用c或者b來表示個位;
if(100*a+10*b+c==a*a*a+b*b+c) 如果滿足這個條件那么:輸出的printf("%d%d%d",a,b,c)就是3位數(shù)的水仙花數(shù):
4位水仙花數(shù)方法同上:
剛寫的:調試過了
#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();
}