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

水仙花数是指一个 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)最后,求个、十、百位的立方和,与本身比较

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

 

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值