您現(xiàn)在的位置是:愛(ài)問(wèn)
“水仙花數(shù)”C語(yǔ)言程序
2021-05-22 10:10愛(ài)問(wèn)
簡(jiǎn)介1 “水仙花數(shù)”C語(yǔ)言程序 C語(yǔ)言寫(xiě)水仙花數(shù)要將給出的三位數(shù)的個(gè)位、十位、百位分別拆分,并求其立方和(設(shè)為s),若s與給出的三位數(shù)相等, 三位數(shù)為“水仙花數(shù)”,反之,則不是水仙花數(shù)。 #include stdio.h int main() { int hun, ten, ind, n; printf(resul...
“水仙花數(shù)”C語(yǔ)言程序
C語(yǔ)言寫(xiě)水仙花數(shù)要將給出的三位數(shù)的個(gè)位、十位、百位分別拆分,并求其立方和(設(shè)為s),若s與給出的三位數(shù)相等, 三位數(shù)為“水仙花數(shù)”,反之,則不是水仙花數(shù)。
#include <stdio.h>
int main()
{
int hun, ten, ind, n;
printf("result is:");
for( n=100; n<1000; n++ ) /*整數(shù)的取值范圍*/
{
hun = n / 100;
ten = (n-hun*100) / 10;
ind = n % 10;
if(n == hun*hun*hun + ten*ten*ten + ind*ind*ind) /*各位上的立方和是否與原數(shù)n相等*/
printf("%d ", n);
}
printf("\n");
return 0;
}
擴(kuò)展資料
C語(yǔ)言水仙花數(shù)代碼設(shè)計(jì)思想:
1、將n整除以100,得出n在百位上的數(shù)字hun。
2、將(n-i*100)整除以10(或?qū)先整除以10再對(duì)10求模n/10%10),得出n在十位上的數(shù)字ten。
3、將n對(duì)10取余,得出n在個(gè)位上的數(shù)字ind。
4、求得這三個(gè)數(shù)字的立方和是否與其本身相等,若相等,則該數(shù)為水仙花數(shù)。
水仙花數(shù)也被稱為超完全數(shù)字不變數(shù)、自戀數(shù)、自冪數(shù)、阿姆斯壯數(shù)或阿姆斯特朗數(shù),水仙花數(shù)是指一個(gè) 3 位數(shù),它的每個(gè)位上的數(shù)字的 3次冪之和等于它本身 。
參考資料:百度百科—水仙花數(shù)
本回答被網(wǎng)友采納c語(yǔ)言水仙花數(shù)
C語(yǔ)言輸出水仙花數(shù)的具體分析和實(shí)現(xiàn)流程如下:
1、水仙花數(shù)的含義
“水仙花數(shù)”是一個(gè)三位數(shù)其各位數(shù)字的立方和等于該數(shù)本身。例如:3^3 + 7^3+ 0^3 = 370
2、算法分析
把給出的某個(gè)三位數(shù)的個(gè)位、十位、百位分別拆分,并求其立方和(設(shè)為sum),若sum與給出的三位數(shù)相等, 則為“水仙花數(shù)”。
3、算法設(shè)計(jì)
“水仙花數(shù)”是一個(gè)三位數(shù),可以確定該數(shù)的取值范圍是 100〜999。對(duì)應(yīng)的循環(huán)條件如下:
for (n=10; n<1000; n++) {}
將n整除以100,得出n在百位上的數(shù)字h。
將(n-i*100)整除以10, 得出n在十位上的數(shù)字t。
將n對(duì)10取余,得出n在個(gè)位上的數(shù)字a。
求得h,t,a 三個(gè)數(shù)字的立方和是否與n相等,如果相等則證明該數(shù)為水仙花數(shù)。
4、代碼實(shí)現(xiàn)
#include <stdio.h>
int main() {
int h, t, a, n;
printf("result is:");
for ( n=100; n<1000; n++ ) { /*整數(shù)的取值范圍*/
h = n / 100;
t = (n-h*100) / 10;
a = n % 10;
if (n == h*h*h + t*t*t + a*a*a) /*各位上的立方和是否與原數(shù)n相等*/
printf("%d ", n);}
printf("\n");
return 0;}
擴(kuò)展資料:
常見(jiàn)水仙花數(shù)
水仙花數(shù)又稱阿姆斯特朗數(shù)。
1、三位的水仙花數(shù)共有4個(gè):153,370,371,407;
2、四位的四葉玫瑰數(shù)共有3個(gè):1634,8208,9474;
3、五位的五角星數(shù)共有3個(gè):54748,92727,93084;
4、六位的六合數(shù)只有1個(gè):548834;
5、七位的北斗七星數(shù)共有4個(gè):1741725,4210818,9800817,9926315;
6、八位的八仙數(shù)共有3個(gè):24678050,24678051,88593477
參考資料來(lái)源:百度百科-水仙花數(shù)
本回答被網(wǎng)友采納水仙花數(shù)的c語(yǔ)言編程。
C語(yǔ)言具體實(shí)現(xiàn)水仙花過(guò)程如下:
一、問(wèn)題描述:
輸出所有的“水仙花數(shù)”,所謂的“水仙花數(shù)”是指一個(gè)三位數(shù)其各位數(shù)字的立方和等于該數(shù)本身,例如153是“水仙花數(shù)”,因?yàn)椋?53 = 13 + 53 + 33。
二、問(wèn)題分析:
根據(jù)“水仙花數(shù)”的定義,判斷一個(gè)數(shù)是否為“水仙花數(shù)”,最重要的是要把給出的三位數(shù)的個(gè)位、十位、百位分別拆分,并求其立方和(設(shè)為s),若s與給出的三位數(shù)相等, 三位數(shù)為“水仙花數(shù)”,反之,則不是。
三、算法設(shè)計(jì):
“水仙花數(shù)”是指滿足某一條件的三位數(shù),根據(jù)這一信息可以確定整數(shù)的取值范圍是 100〜999。對(duì)應(yīng)的循環(huán)條件如下:
for(n=10; n<1000; n++) { //...... }
四、完整的代碼:
對(duì)代碼的說(shuō)明:
1、將n整除以100,得出n在百位上的數(shù)字hun。
2、將(n-i*100)整除以10(或?qū)先整除以10再對(duì)10求模n/10%10),得出n在十位上的數(shù)字ten。
3、將n對(duì)10取余,得出n在個(gè)位上的數(shù)字ind。
4、求得這三個(gè)數(shù)字的立方和是否與其本身相等,若相等,則該數(shù)為水仙花數(shù)。
對(duì)于每個(gè)位置上的數(shù)值將其拆分的算法有很多種,根據(jù)不同情況選擇不同算法(對(duì)于同一問(wèn)題不同算法的效率有時(shí)會(huì)相差很多)。
五、實(shí)現(xiàn)效果:
輸入一個(gè)n,把n(1<=n<=6)位數(shù)的水仙花數(shù)都輸出來(lái);C語(yǔ)言初學(xué)者
樓主你好~根據(jù)要求,代碼如下:#include<stdio.h>#include<math.h>int main(){ int i,n,flag,temp,sum=0,num=0; printf("請(qǐng)輸入所要求的水仙花數(shù)位數(shù)(1<=n<=6):\n"); scanf("%d",&n); while(n<1||n>6) { printf("位數(shù)不正確!請(qǐng)重新輸入(1<=n<=6):\n"); scanf("%d",&n); } flag=pow(10,n); for(i=flag/10;i<flag;i++) //從10的n-1次方到10的n次方里找n位的水仙花數(shù) { sum=0; //計(jì)數(shù)清零 temp=i; //臨時(shí)數(shù),用來(lái)替代i進(jìn)行計(jì)算 while(temp!=0) //當(dāng)臨時(shí)數(shù)沒(méi)變成0時(shí)執(zhí)行循環(huán) { sum+=pow((temp%10),n); //取個(gè)位的數(shù)進(jìn)行n次方,累加進(jìn)sum temp/=10; //去掉目前temp的個(gè)位 } if(sum==i) //循環(huán)過(guò)后,累加的sum值等于原值的話,滿足水仙花數(shù)條件,輸出數(shù)字。 { printf("%d\n",i); num++; //計(jì)算當(dāng)前水仙花數(shù)個(gè)數(shù)。 } } printf("%d位水仙花數(shù)有%d個(gè)\n",n,num); return 0;}希望樓主能看懂哈~祝樓主學(xué)習(xí)進(jìn)步~~
如何用C語(yǔ)言中的while語(yǔ)句編寫(xiě)水仙花數(shù)程序
在DEV-C++通過(guò)檢測(cè),有問(wèn)題歡迎追問(wèn)#include <math.h>int main(){ int i=100,a,b,c; printf("3位數(shù)中的水仙花數(shù)為:"); while(i<999) { i++; a=i/100; b=(i/10)%10; c=i%10; if(pow(a,3)+pow(b,3)+pow(c,3)==i) printf("%d\t",i); } system("PAUSE"); return ;}
以上是關(guān)于水仙花數(shù)c語(yǔ)言程序的問(wèn)答
Tags:水仙花數(shù)c語(yǔ)言程序,“水仙花數(shù)”C語(yǔ)言程序,輸入一個(gè)n,把n
相關(guān)文章
隨機(jī)圖文
孩子一哭鬧家長(zhǎng)就妥協(xié)?正確教育孩子很重要,不要盲目
在逛商場(chǎng)的時(shí)候,相信大家也會(huì)看到有許多不一樣的小朋友,比如說(shuō)有很多的小朋友都會(huì)不買玩具誓不罷休,甚至...單位打印機(jī)冒出條尾巴!女子瑟瑟發(fā)抖,蛇怎么進(jìn)入到辦
是很多人都會(huì)比較害怕,無(wú)論是出現(xiàn)在外面又或者是出現(xiàn)在家中,相信在此時(shí)大部分人的心中都會(huì)覺(jué)得有些恐慌。...荔枝2元/斤?真的可以實(shí)現(xiàn)荔枝自由嗎?,盡情享受
喜歡吃荔枝的一些武漢市民建議,在選購(gòu)的時(shí)候還是應(yīng)該選擇多對(duì)比,或許在不經(jīng)意之間就可以直接撿到一個(gè)大便...雪蓮的遭遇是誰(shuí)在推動(dòng)?5毛的冰塊雪糕為何被人質(zhì)疑
有人說(shuō)應(yīng)該怎么去看待雪蓮雪糕的辟謠,有無(wú)數(shù)的人都會(huì)為雪蓮鳴不平,也同樣是想要為自己的口袋找一些底氣,...
點(diǎn)擊排行

- 單位打印機(jī)冒出條尾巴!女子瑟瑟發(fā)抖,蛇怎么進(jìn)入到辦
- 荔枝2元/斤?真的可以實(shí)現(xiàn)荔枝自由嗎?,盡情享受
- 雪蓮的遭遇是誰(shuí)在推動(dòng)?5毛的冰塊雪糕為何被人質(zhì)疑
- 女生跳操2小時(shí)致肌肉溶解,運(yùn)動(dòng)后出現(xiàn)醬油色尿,究竟
- 四川天橋坍塌:非質(zhì)量問(wèn)題,跟天橋建造方式有關(guān)?什么
- 白酒是健康的酒?純糧釀的白酒更好?每天2兩酒是好是
- 為什么女大學(xué)生懷孕現(xiàn)象越來(lái)越多?知道原因后才發(fā)現(xiàn),
- 半年內(nèi)胖了十斤,為什么越減越肥?杭州女子百思不得其