打印出所有的"水仙花數(shù)"的程序:
創(chuàng)新互聯(lián)公司成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目做網(wǎng)站、網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元涿州做網(wǎng)站,已為上家服務(wù),為涿州各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
package shuixianhuashu;
import shuixianhuashu.shuixianhuashu; public class shuixianhuashu {
static Boolean isSxh(int m){ int a1,a2,a3; a1=m/100; a2=m%100/10; a3=m%10; if(m3) return false;
else if( (a1*a1*a1+a2*a2*a2+a3*a3*a3) == (a1*100+a2*10+a3) )
return true; else
return false;
}
public static void main(String[] args){ System.out.println("1000以內(nèi)的水仙花數(shù):"); shuixianhuashu s = new shuixianhuashu(); for(int i=101;i1000;i++) if(s.isSxh(i))
System.out.print(i+"\t"); } }
運行結(jié)果:
1000以內(nèi)的水仙花數(shù): 153
370 371 407
【擴(kuò)展】
所謂"水仙花數(shù)"是指一個三位數(shù),其各位數(shù)字 立方和等于該數(shù)本身。
按一下代碼執(zhí)行:
public class woo {
public static void main(String args[]) {
System.out.println("100-1000中的水仙花數(shù)有:");
for(int i=100;i1000;i++){
int single? = i%10;
int ten = i/10%10;
int hundred = i/10/10%10;
//水仙花數(shù)判斷要求
if(i == (single*single*single+ten*ten*ten+hundred*hundred*hundred)){
System.out.println(i);
}
}
}
}
擴(kuò)展資料:
水仙花數(shù)只是自冪數(shù)的一種,嚴(yán)格來說3位數(shù)的3次冪數(shù)才稱為水仙花數(shù)。
一位自冪數(shù):獨身數(shù)
兩位自冪數(shù):沒有
三位自冪數(shù):水仙花數(shù)
四位自冪數(shù):四葉玫瑰數(shù)
五位自冪數(shù):五角星數(shù)
六位自冪數(shù):六合數(shù)
七位自冪數(shù):北斗七星數(shù)
八位自冪數(shù):八仙數(shù)
九位自冪數(shù):九九重陽數(shù)
十位自冪數(shù):十全十美數(shù)
參考資料:
水仙花數(shù)——百度百科
分析:水仙花數(shù)是指:一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:370=33+73+00.這就說明370是一個水仙花數(shù)。
所以要判斷一個三位數(shù)是不是水仙花數(shù),得先取得這個三位數(shù)的的個位,十位和百位。
1:先取得他的百位:int BaiWei = x/100; 因為int是整形,所以不會進(jìn)行四舍五入,也不會管小數(shù)點后面的數(shù)。
再取得十位:int ShiWei = (x-BaiWei*100)/10;先用這個數(shù)減去百位數(shù)*100,再除以10,原因同上。
最后取得個位數(shù):int GeWei = x-BaiWei*100-ShiWei*10.很明顯,就能得到個位數(shù)。
2:
intb = x/100;
int s = x/100%10;
int g = x%10;
求立方的方法:
1,x = Baiwei*Baiwei*Baiwei+ShiWei*ShiWei*ShiWei+GeWei*GeWei*GeWei
2,Java提供求n次方的方法:java.lang.Math.pow(a, b);其表示為a的b次方。
最后程序:
第一種:
public class ShuiXianHuaShu {
public static void main(String[] args) {
int x = 0; //定義水仙花數(shù)的個數(shù)
for(int i=100;i=999;i++){
int b = i/100; //取得百位數(shù)
int s = (i-100*b)/10; //取得十位數(shù)
int g = (i-s*10-b*100); //取得個位數(shù)
if(i==g*g*g+s*s*s+b*b*b){
x++; //每次符合水仙花數(shù)條件,則x+1;
System.out.print(i+" "); //輸出符合條件的數(shù)
}
}System.out.println(); //換行
System.out.println("水仙花數(shù)總共有"+x+"個"); //輸出水仙花數(shù)的總數(shù)
}
}
第二種:
public class ShuiXianHuaShu {
public static void main(String[] args) {
int x = 0; //定義水仙花數(shù)的個數(shù)
for(int i=100;i=999;i++){
int b = i/100; //取得百位數(shù)
int s = i%100/10; //取得十位數(shù)
int g = i%10; //取得個位數(shù)
if(i==Math.pow(b, 3) + Math.pow(s, 3) + Math.pow(g, 3)){
x++; //每次符合水仙花數(shù)條件,則x+1;
System.out.print(i+" "); //輸出符合條件的數(shù)
}
}System.out.println(); //換行
System.out.println("水仙花數(shù)總共有"+x+"個"); //輸出水仙花數(shù)的總數(shù)
}
}
當(dāng)前標(biāo)題:java水仙花數(shù)源代碼,水仙花代碼怎么寫JAVA
網(wǎng)站地址:http://sd-ha.com/article32/hooesc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、手機(jī)網(wǎng)站建設(shè)、做網(wǎng)站、搜索引擎優(yōu)化、動態(tài)網(wǎng)站、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)