您現(xiàn)在的位置是:影視綜藝
C語言編程輸出所有的“水仙花數(shù)”。,c語言水仙花數(shù)
2020-10-10 09:34影視綜藝
簡介C語言輸數(shù)的具體和實現(xiàn)流程如下:1、水仙花數(shù)的含義“水仙花數(shù)”是一個三位數(shù)位數(shù)字的立方和等于該數(shù)本身。例如:3^3 + 7^3+ 0^3 = 3702、算法分析把給出的某個三位數(shù)的個位、十位、百位分別 C語言編程輸出所有的“水仙花數(shù)”。...

C語言輸數(shù)的具體和實現(xiàn)流程如下:
1、水仙花數(shù)的含義
“水仙花數(shù)”是一個三位數(shù)位數(shù)字的立方和等于該數(shù)本身。例如:3^3 + 7^3+ 0^3 = 370
2、算法分析
把給出的某個三位數(shù)的個位、十位、百位分別拆分,并求其立方和(設(shè)為sum),若sum與給出的三位數(shù)相等, 則為“水仙花數(shù)”。
3、算法設(shè)計
“水仙花數(shù)”是一個三位數(shù),可以確定該數(shù)的取值范圍是 100〜999。對應(yīng)的循環(huán)條件如下:
for (n=10; n<1000; n++) {}
將n整除以100,得出n在百位上的數(shù)字h。
將(n-i*100)整除以10, 得出n在十位上的數(shù)字t。
將n對10取余,得出n在個位上的數(shù)字a。
求得h,t,a 三個數(shù)字的立方和是否與n相等,如果相等則證明該數(shù)為水仙花數(shù)。
4、代碼實現(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;}
擴展資料:
常見水仙花數(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ù)
-下面是更多關(guān)于水仙花數(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輸出第一個水仙花數(shù)
{
printf("%d", i);
}
else //size++輸出第二。。第n個水仙花數(shù)
{
printf(" %d", i);
}
size++; //個數(shù)++;
}
}
if (size == 0) //范個數(shù)為0,則說有滿足條件的
{
printf("no");
}
printf("\n");
}
return 0;
}
百度百科-水仙花數(shù)
本回答被網(wǎng)友采納C語言計算出"水仙花"代下:
運行結(jié)果如下:
擴料
解題思路:這里提供了一種算法,即使用三個for循環(huán)確定三位數(shù)字,最外層的for循環(huán)即確定百位上的數(shù)字,不為0即只在1~9之間循環(huán),同理,其他的兩個for循環(huán)即確定十位和個位的數(shù)字,可在0~9之間循環(huán)。然后使用了一個核心的判斷語句,當(dāng)這個數(shù)值等于i^3+j^3+k^3時,才輸出結(jié)果,這樣就得出了水仙花數(shù)。
水仙花數(shù)(Narcissistic number)也被稱為超完全數(shù)字不變數(shù)(pluperfect digital invariant, PPDI)、自戀數(shù)、自冪數(shù)、阿姆斯壯數(shù)或阿姆斯特朗數(shù)(Armstrong number),水仙花數(shù)是指一個 3 位數(shù),它的每個位上的數(shù)字的 3次冪之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。
本回答被網(wǎng)友采納C寫水仙花數(shù)要將給出的三位數(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;
}
擴展資料
C語言水仙花數(shù)代碼設(shè)計思想:
1、將n整除以100,得出n在百位上的數(shù)字hun。
2、將(n-i*100)整除以10(或?qū)先整除以10再對10求模n/10%10),得出n在十位上的數(shù)字ten。
3、將n對10取余,得出n在個位上的數(shù)字ind。
4、求得這三個數(shù)字的立方和是否與其本身相等,若相等,則該數(shù)為水仙花數(shù)。
水仙花數(shù)也被稱為超完全數(shù)字不變數(shù)、自戀數(shù)、自冪數(shù)、阿姆斯壯數(shù)或阿姆斯特朗數(shù),水仙花數(shù)是指一個 3 位數(shù),它的每個位上的數(shù)字的 3次冪之和等于它本身 。
參考資料:百度百科—水仙花數(shù)
本回答被網(wǎng)友采納 main(){ int ge,shi,bai,number; /*定義個十位,百位*/ for(number=100;number<1000;number++) { bai=number/100; shi=(number%100)/10; ge=number%10; if(number==bai*bai*bai+shi*shi*shi+ge*ge*ge) /*若滿足條件則顯示*/ printf("\nnumber=%d\n",number); } getch();}樓把另外2種算法 仔細描么?謝謝找出所有3位水的程序:
#include<stdio.h>
int main()
{
int i,a,b,c;
for(i=100;i<1000;i++)
{
a=i/100; //百位數(shù)
b=i/10%10; //數(shù)
c=i%10; //個位數(shù)
if(i==a*a*a+b*b*b+c*c*c)
printf("%d\n",i);
}
getch();
}
括號錯#include<stdio.h>int main(){int i,j,k,n;for(n=100;n<=999;n++){i=n/100;j=n/10-i*10;k=n%10;if(n==i*i*i+j*j*j+k*k*k)printf("%d/n",n);} //應(yīng)該查也括進去!return 0;}追問
好的,謝謝追答
不客氣
在100-999之間的三位數(shù)ABC,滿足A³+B³+C³=ABC,就稱ABC為水仙花數(shù)。
根據(jù)描述和提供的代碼,只需要對輸出的結(jié)果進行即可,修改后的代碼如下:
#include<stdio.h>
int main()
{
int i,a,b,c;
for(i=100;i<=999;i++)
{
a=i/100;
b=i/10%10;
c=i%10;
if(i == a*a*a + b*b*b + c*c*c)
printf("%d is a daffodil number.\n", i);
}
return 0;
}
程序運行結(jié)果:
本回答被網(wǎng)友采納
#include <stdio.h>
int main(){ int i,a,b,c,j=0,f[1000]; for(i=100;i<1000;i++) {a=i%10; b=i/10%10;c=i/100; if(i==a*a*a+b*b*b+c*c*c) f[j++]=i; } for(int k=0;k<j;k++) { printf("%d ",f[k]); } printf("\n"); for(int k=j-1;k>=0;k--) { printf("%d ",f[k]); } return 0;}Tags:水仙花數(shù),c語言水仙花數(shù),C語言編程輸出所有的“水仙花數(shù)”。
相關(guān)文章
隨機圖文
求《贈我予白》的完整版txt百度云資源!,求《贈我予白
yǔ白作者:小八老爺:沈佑白是高傲的,而徐品羽于他的。PS:鏈出來回答就會被刪,但是你是匿名,我加不了...美國總統(tǒng)特朗普到底多少歲了?,美國總統(tǒng)特郎普的年齡?
唐納德·特朗普(Donald Trump),1946年6月14日生于紐約,美國共和黨籍政治家、企業(yè)家、商人,第45任美國...求書:男主占有欲強,對女主很霸道的小說?要有囚禁這
玩寵 (作雨革月)男主徹頭徹尾的畜牲他根本不懂什么。用錢勢紈绔子弟。他只會威脅,凌辱,性暴力。女主和...”流年笑擲 未來可期”這句話是什么意思?,未來可期不
是未來的日子是值得期待的,辜負美好的時光。生活,辛苦與磨礪,都為深刻的體會與印記,苦心勵志,心懷感恩...