Java三種求水仙花數(shù)的方法
更新時間:2018年02月26日 09:43:08 作者:彬菌
本篇文章通過求水仙花數(shù)的實例來讓大家對JAVA求數(shù)的概念和方法有更深入的理解和應(yīng)用,學(xué)習(xí)參考下吧。
水仙花數(shù):水仙花數(shù)是三位數(shù),它的各位數(shù)字的立方和等于這個三位數(shù)本身,例如:370=33+73+00;371=33+73+13,370、371就是一個水仙花數(shù)
注意:要判斷一個三位數(shù)是不是水仙花數(shù),得先取得這個三位數(shù)的的個位,十位和百位
普通for循環(huán):
public class Daffodil {
public static void main(String[] args) {
int count = 0; //定義水仙花數(shù)的個數(shù)
for(int i=100;i<=10000;i++){ //水仙花數(shù)范圍
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){ //水仙花數(shù)判定
System.out.print(i+" "); //輸出符合條件的數(shù)
count++;
}
}
System.out.println(); //換行
System.out.println("水仙花數(shù)總共有"+count+"個"); //輸出水仙花數(shù)的總數(shù)
}
}
while循環(huán):
public class Daffodil {
public static void main(String args[]){
int i=100;
int count=0; //定義水仙花數(shù)的個數(shù)
while(i<10000){
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){ //水仙花數(shù)判定
System.out.print(i+" "); //輸出符合條件的數(shù)
count++;
}
i+=1;
}
System.out.println();
System.out.println("水仙花數(shù)總共有"+count+"個"); //輸出水仙花數(shù)的總數(shù)
}
}
do-while循環(huán):
public class Daffodil {
public static void main(String args[]){
int i=100;
int count=0; //定義水仙花數(shù)的個數(shù)
do{
i+=1;
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){ //水仙花數(shù)判定
System.out.print(i+" "); //輸出符合條件的數(shù)
count++;
}
}while(i<10000);
System.out.println();
System.out.println("水仙花數(shù)總共有"+count+"個"); //輸出水仙花數(shù)的總數(shù)
}
}
相關(guān)文章
MyBatis-Plus非表字段的三種處理方法小結(jié)
這篇文章主要介紹了MyBatis-Plus非表字段的三種處理方法小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
SpringBoot實現(xiàn)網(wǎng)站的登陸注冊邏輯記錄
登陸注冊功能是我們?nèi)粘i_發(fā)中經(jīng)常遇到的一個功能,下面這篇文章主要給大家介紹了關(guān)于SpringBoot實現(xiàn)網(wǎng)站的登陸注冊邏輯的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2021-10-10

