100-999的水仙花数判断

水仙花数

水仙花数:首先是一个三位数,且它的每一位数的立方之和等于该数

  int a,b,c;
        System.out.print("水仙花数(100-999):");
        for(int i=100;i<=999;i++){
            a=i%10;
            b=i/10%10;
            c=i/100;
            if(i==a*a*a+b*b*b+c*c*c) {
                System.out.print(i+"\t");
            }
        }
        System.out.println();
       
//结果:水仙花数(100-999):153	370	371	407	

代码分析:从水仙花是一个三位数可以确定一个范围(100-999)的数,然后它的每一位数的立方之和等于该数知道需要把一个三位数的个位,十位,百位分别拆分出来进行立方和计算

分析完后就知道需要定义哪些变量来存放位数,然后就是取100-999的符合要求的数,就需要用到循环,这里运用for循环,因为起始的数据都固定,所以使用循环分别把从100-999的数每一位数取出来存放在a,b,c(定义了三个整型变量分别存放个位,十位,百位)中

拆分每一位数:因为都是三位数,取每一位不需要太复杂
i%10:对一个数进行取模(取余)拿到个位数
i/10%10:对个一个数进行先取商在取模得到十位数
i%100对一个数进行取模得到百位数
"> "/“和**”%"**的运算规则:
例:
123%10=12+3(取余数)
123/100=1+23=1(取商,忽略余数)
123/10%10=(12+3=12)%10=1+2=2(先取商在取模)

当循环拆分完每一个数的各个位数后,对每一个数的各个位数进行立方和求和判断是否等于该数就可得出100-999的所有水仙花数

总结:对一个数进行取模取商运算可以拆分一个数的各个位数,当数据多个且存在一定规律时可以运用循环进行操作,这里除了for循环还有其他循环while,do-while,foreach还可以和其他判断语句进行嵌套使用,使程序更灵活

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小羊Code

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值