A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© BPFT 初级黑马   /  2019-9-26 15:28  /  869 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  for循环练习-水仙花(应用)

- 需求:在控制台输出所有的“水仙花数”
- 解释:什么是水仙花数?
  - 水仙花数,指的是一个三位数,个位、十位、百位的数字立方和等于原数
    - 例如`153  3*3*3 + 5*5*5 + 1*1*1 = 153`
- 思路:
  1. 获取所有的三位数,准备进行筛选,最小的三位数为100,最大的三位数为999,使用for循环获取
  2. 获取每一个三位数的个位,十位,百位,做if语句判断是否是水仙花数
- 示例代码

```java
public class ForTest04 {
    public static void main(String[] args) {
                //输出所有的水仙花数必然要使用到循环,遍历所有的三位数,三位数从100开始,到999结束
                for(int i=100; i<1000; i++) {
                        //在计算之前获取三位数中每个位上的值
                        int ge = i%10;
                        int shi = i/10%10;
                        int bai = i/10/10%10;
                       
                        //判定条件是将三位数中的每个数值取出来,计算立方和后与原始数字比较是否相等
                        if(ge*ge*ge + shi*shi*shi + bai*bai*bai == i) {
                                //输出满足条件的数字就是水仙花数
                                System.out.println(i);
                        }
                }
    }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马