編程列印所有的水仙花數
❶ c語言編程題列印出所有的「水仙花數」所謂「水仙花數」是指一個三位數其各位數字立方和等於該數本身
列印出所有的「水仙花數」,所謂「水仙花數」是指一個三位數,其各位數字立方和等於該數
本身。例如:153是一個「水仙花數」,因為153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循環控制100-999個數,每個數分解出個位,十位,百位。
2.程序源代碼:
main()
{
int i,j,k,n;
printf("'water flower'number is:");
for(n=100;n<1000;n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出個位*/
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
{
printf("%-5d",n);
}
}
printf("\n");
}
❷ C語言 列印出所有的「水仙花數」,所謂「水仙花數」是指一個3位數,其各位數字立方和等於該數本身。
列印100-999之間的水仙花數!
方法1:
main()
{
int a,b,c,d;
for(a=100;a<=99;a++)
b=a/100;
c=a/10-b*10;
d=a-b*100-c*10;
if(b*b*b+c*c*c+d*d*d==a) printf("%d",a);
}
方法2:
main()
{
int i,j,k;
for(i=1;i<=9;i++)
for(j=1;j<=9;j++)
for(k=1;k<=9;k++)
{
if((i*i*i+j*j*j+k*k*k)==(i*100+j*10+k))
printf("%d",i*100+j*10+k);
}
}
❸ C語言編程輸出所有的「水仙花數」。
1、首先需要打開Dev-c++軟體,點擊「新建源代碼」。
❹ 列印所有的水仙花數
列印所有的水仙花數的方法。
如下參考:
1.首先,打開dev-c++軟體,點擊「新建代碼」。
❺ 水仙花數的c語言編程。
所謂的「水仙花數」是指一個三位數其各位數字的立方和等於該數本身,例如153是「水仙花數」,因為:153 = 1^3 + 5^3+ 3^3。
下面是完整的C語言編程代碼:
運行結果:
result is:153 370 371 407
(5)編程列印所有的水仙花數擴展閱讀
常見水仙花數
水仙花數又稱阿姆斯特朗數。
1、三位的水仙花數共有4個:153,370,371,407;
2、四位的四葉玫瑰數共有3個:1634,8208,9474;
3、五位的五角星數共有3個:54748,92727,93084;
4、六位的六合數只有1個:548834;
5、七位的北斗七星數共有4個:1741725,4210818,9800817,9926315;
6、八位的八仙數共有3個:24678050,24678051,88593477
❻ C語言編程輸出所有的「水仙花數」。
1、首先需要打開Dev-c++軟體,點擊「新建源代碼」。
❼ 7.編程列印出100~999間所有的「水仙花數」,所謂水仙花數是指一個3位數,其各位數字的立方和等於該數本身。
第一種方式分離每位數字:
#include<stdio.h>
int main()
{
int a,b,c;
int i;
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)
{
printf("%d ",i);
}
}
return 0 ;
}
第二種方式:三重for循環
#include<stdio.h>
int main()
{
int a,b,c;
int i,j,k;
for(i=1;i<=9;i++)
{
for(j=0;j<=9;j++)
{
for(k=0;k<=9;k++)
{
if(i*i*i+j*j*j+k*k*k==i*100+j*10+k)
{
printf("%d%d%d ",i,j,k);
}
}
}
}
printf(" ");
return 0 ;
}
(7)編程列印所有的水仙花數擴展閱讀:
水仙花數只是自冪數的一種,嚴格來說3位數的3次冪數才稱為水仙花數。
附:其他位數的自冪數名字
一位自冪數:獨身數
兩位自冪數:沒有
三位自冪數:水仙花數
四位自冪數:四葉玫瑰數
五位自冪數:五角星數
六位自冪數:六合數
七位自冪數:北斗七星數
八位自冪數:八仙數
九位自冪數:九九重陽數
十位自冪數:十全十美數
常見水仙花數
水仙花數又稱阿姆斯特朗數。
三位的水仙花數共有4個:153,370,371,407;
四位的四葉玫瑰數共有3個:1634,8208,9474;
五位的五角星數共有3個:54748,92727,93084;
六位的六合數只有1個:548834;
七位的北斗七星數共有4個:1741725,4210818,9800817,9926315;
八位的八仙數共有3個:24678050,24678051,88593477
……
使用高精度計算,可以得到超過int類型上限的水仙花數:
5: 93084
5: 92727
5: 54748
6: 548834
7: 9800817
7: 4210818
7: 1741725
7: 9926315
8: 24678050
8: 24678051
8: 88593477
9: 146511208
9: 912985153
9: 472335975
9: 534494836
10: 4679307774
11: 32164049650
11:40028394225
11: 42678290603
11: 49388550606
11: 32164049651
11: 94204591914
11: 44708635679
11: 82693916578
14: 28116440335967
16: 4338281769391370
16: 4338281769391371
17: 21897142587612075
17: 35641594208964132
17: 35875699062250035
19: 1517841543307505039
19: 3289582984443187032
19: 4929273885928088826
19: 4498128791164624869
20: 63105425988599693916
21: 449177399146038697307
21: 128468643043731391252
23: 27907865009977052567814
23: 35452590104031691935943
23: 27879694893054074471405
23: 21887696841122916288858
24: 174088005938065293023722
24: 188451485447897896036875
(為環保起見,24位以上的水仙花數略)
最大的水仙花數有39位。十進制自然數中的所有水仙花數共有88個。
❽ c語言輸出所有水仙花數
1、首先需要打開Dev-c++軟體,點擊「新建源代碼」。
❾ 用C++編程:列印出所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等於該數本身.
main()
{
int n,a,b,c;
for(n=100;n<=999;n++)
{
a=n/100;
b=n%100/10;
c=n%10;
if(a*a*a+b*b*b+c*c*c==n) printf("%d ",n);
}
}
水仙花數是指一個 n 位數 ( n≥3 ),它的每個位上的數字的 n 次冪之和等於它本身。
三位的水仙花數共有4個:153,370,371,407;
加一下就可以了,
153+370+371+407=1301
你可以用程序來找到他們,比如用我會的pascal語言就是:
program shuixianhuashu;
var
a,b,c:integer;
begin
for a:=1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
if a*a*a+b*b*b+c*c*c=100*a+10*b+c then writeln(100*a+10*b+c);
end.
或:
program sxh;
var a,b,c,d:integer;
begin
for a:=100 to 999 do begin
b:=a mod 10;
c:=a mod 100 div 10;
d:=a div 100;
if b*b*b+c*c*c+d*d*d=a then writeln(a);
end;
end.
也可用C語言:
#include <stdio.h>
int main(void)
{
int a,b,c;
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 ",a,b,c);
return 0;
}
(9)編程列印所有的水仙花數擴展閱讀:
水仙花數又稱阿姆斯特朗數。
三位的水仙花數共有4個:153,370,371,407;
四位的四葉玫瑰數共有3個:1634,8208,9474;
五位的五角星數共有3個:54748,92727,93084;
六位的六合數只有1個:548834;
七位的北斗七星數共有4個:1741725,4210818,9800817,9926315;
八位的八仙數共有3個:24678050,24678051,88593477