/* 5、输出所有的水仙花数, 所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。 例如: 153 = 1*1*1 + 5*5*5 + 3*3*3 */ class Test06_Exer5_2{ public static void main(String[] args){ System.out.println("所有的水仙花数如下:"); //水仙花数是指一个3位数==>水仙花数的范围[100,999] int i=100; while( i<=999 ){ /* 对于每一个i的值,我们要干什么? (1)求出i的百、十、个位的值 (2)判断i的百位的立方+十位的立方+个位的立方是否等于i, 如果相等,就输出i */ //(1)求出i的百、十、个位的值 int bai = i/100; int shi = i/10%10; int ge = i%10; //(2)判断i的百位的立方+十位的立方+个位的立方是否等于i, // 如果相等,就输出i if(i == bai*bai*bai + shi*shi*shi + ge*ge*ge){ System.out.println(i); } i++; } } }
/* 5、输出所有的水仙花数, 所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。 例如: 153 = 1*1*1 + 5*5*5 + 3*3*3 */ class Test06_Exer5{ public static void main(String[] args){ System.out.println("所有的水仙花数如下:"); //水仙花数是指一个3位数==>水仙花数的范围[100,999] for(int i=100; i<=999; i++){ /* 对于每一个i的值,我们要干什么? (1)求出i的百、十、个位的值 (2)判断i的百位的立方+十位的立方+个位的立方是否等于i, 如果相等,就输出i */ //(1)求出i的百、十、个位的值 int bai = i/100; int shi = i/10%10; int ge = i%10; //(2)判断i的百位的立方+十位的立方+个位的立方是否等于i, // 如果相等,就输出i if(i == bai*bai*bai + shi*shi*shi + ge*ge*ge){ System.out.println(i); } } } }
class Test5{ public static void main(String[] args){ int bai = 1; int shi = 0; int ge = 0; while(bai < 10){ while(shi < 10){ while(ge < 10){ if(bai*100 + shi*10 + ge == bai*bai*bai + shi*shi*shi + ge*ge*ge){ System.out.println(bai*100 + shi*10 + ge); } ge += 1; } ge = 0; shi += 1; } ge = 0; shi = 0; bai += 1; } } }