用java求999以内水仙花数

什么是水仙花数

水仙花数是指一个三位数的各位数字的立方和等于该数本身的数,也叫做阿姆斯特朗数。例如:153就是一个水仙花数,因为1的3次方+5的3次方+3的3次方等于153。

Java求999以内的水仙花数

在Java中,我们可以通过循环来遍历999以内的所有三位数,并计算它们的各位数字的立方和,如果与该数本身相等,则为水仙花数。

具体实现可以通过以下代码:

用java求999以内水仙花数

public static void main(String[] args){
    for(int i=100; i<=999; i++){
        int a = i/100;  //百位数
        int b = i/10%10;  //十位数
        int c = i%10;  //个位数
        int sum = a*a*a + b*b*b + c*c*c;  //计算各位数字的立方和
        if(sum == i){
            System.out.println(i + "是水仙花数");
        }
    }
}

运行以上代码,即可输出999以内的所有水仙花数。

扩展应用

除了求解水仙花数,我们还可以扩展应用这个算法,例如判断一个四位数是否为各位数字的四次方和,或者更高次方和。

具体实现方法与求解水仙花数类似,只需要修改计算的次方数即可。例如,判断一个四位数是否为各位数字的四次方和,可以用以下代码:

public static void main(String[] args){
    for(int i=1000; i<=9999; i++){
        int a = i/1000;  //千位数
        int b = i/100%10;  //百位数
        int c = i/10%10;   //十位数
        int d = i%10;   //个位数
        int sum = a*a*a*a + b*b*b*b + c*c*c*c + d*d*d*d;  //计算各位数字的四次方和
        if(sum == i){
            System.out.println(i + "是各位数字的四次方和");
        }
    }
}

运行以上代码,即可输出所有各位数字的四次方和的四位数。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/javas55java.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年4月24日 下午9:09
下一篇 2023年4月24日 下午9:09

猜你喜欢