Java使用for循环输出所有的水仙花数

拼搏现实的明天。 2022-03-14 19:10 836阅读 0赞

水仙花数是指一个 3 位数(100~999),它的每个位上的数字的 3次幂之和等于它本身。

例如:153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 +27 = 153

(个位的三次方 + 十位的三次方 + 百位的三次方 = 本身)

思路:

(1)首先,范围在100~999

(2)再者,获取数字的个、十、百位

例如:153

个位: 3 = 153%10 153取余10等于3

十位: 5 = (153/10)%10 153除以10再取余10等于5

百位: 1 = (153/10/10)%10 153除以100再取余10等于1

(3)最后,求个、十、百位的立方和,与本身比较

  1. //输出所有的水仙花数
  2. for( int x = 100; x <= 999; x++){
  3. int ge = x%10; //获取个位
  4. int shi = (x/10)%10; //获取十位
  5. int bai = (x/10%10)%10; //获取百位
  6. if(x == (ge*ge*ge + shi*shi*shi + bai*bai*bai)){
  7. System.out.println(x + "是一个水仙花数。");
  8. }
  9. }

发表评论

表情:
评论列表 (有 0 条评论,836人围观)

还没有评论,来说两句吧...

相关阅读