题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
public class ShuiXianHua {
public static void main(String[] args) {
for (int i = 100; i <1000 ; i++) {
int firstNum = i/100;
int secondNum = i/10%10;
int thirdNum = i%10;
if(firstNum*firstNum*firstNum + secondNum*secondNum*secondNum+thirdNum*thirdNum*thirdNum == i){
System.out.println("水仙花数为:" + i);
}
}
}
}
//注意:要判断一个三位数是不是水仙花数,得先取得这个三位数的的个位,十位和百位
//普通for循环:
public class ShuiXianHua {
public static void main(String[] args) {
int count = 0; //定义水仙花数的个数
for(int i=100;i<=10000;i++){ //水仙花数范围
int b = i/100; //取得百位数
int s = (i-100*b)/10; //取得十位数
int g = (i-s*10-b*100); //取得个位数
if(i==g*g*g+s*s*s+b*b*b){ //水仙花数判定
System.out.print(i+" "); //输出符合条件的数
count++;
}
}
System.out.println(); //换行
System.out.println("水仙花数总共有"+count+"个"); //输出水仙花数的总数
}
}
//注意:要判断一个三位数是不是水仙花数,得先取得这个三位数的的个位,十位和百位
//while循环:
public class ShuiXianHua {
public static void main(String args[]){
int i=100;
int count=0; //定义水仙花数的个数
while(i<10000){
int b = i/100; //取得百位数
int s = (i-100*b)/10; //取得十位数
int g = (i-s*10-b*100); //取得个位数
if(i==g*g*g+s*s*s+b*b*b){ //水仙花数判定
System.out.print(i+" "); //输出符合条件的数
count++;
}
i+=1;
}
System.out.println();
System.out.println("水仙花数总共有"+count+"个"); //输出水仙花数的总数
}
}
//注意:要判断一个三位数是不是水仙花数,得先取得这个三位数的的个位,十位和百位
//do-while循环:
public class ShuiXianHua {
public static void main(String args[]){
int i=100;
int count=0; //定义水仙花数的个数
do{
i+=1;
int b = i/100; //取得百位数
int s = (i-100*b)/10; //取得十位数
int g = (i-s*10-b*100); //取得个位数
if(i==g*g*g+s*s*s+b*b*b){ //水仙花数判定
System.out.print(i+" "); //输出符合条件的数
count++;
}
}while(i<10000);
System.out.println();
System.out.println("水仙花数总共有"+count+"个"); //输出水仙花数的总数
}
}