前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >java水仙花数代码,三位四位五位

java水仙花数代码,三位四位五位

作者头像
全栈程序员站长
发布于 2022-09-08 03:02:51
发布于 2022-09-08 03:02:51
62800
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

ShuiXianHua.java

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class ShuiXianHua{ 
   
    public static void main(String[] args){ 
   
        for(int i=100;i<1000;i++){ 
   
            int x =i/100;
            int y =i/10%10;
            int z =i%10;
            if (x*x*x + y*y*y + z*z*z == i){ 
   
                System.out.println(x+","+y+","+z+"|"+"三位水仙花数是:"+i);
            }
        }System.out.println("======再来看看其他的呗======");
        for(int j=1000;j<10000;j++){ 
   
            int a =j/1000;
            int b =j/100%10;
            int c =j/10%10;
            int d =j%10;
            if(a*a*a*a + b*b*b*b + c*c*c*c +d*d*d*d == j) { 
   
                System.out.println(a+","+b+","+c+","+d+"|"+"四位水仙花是:"+j);
            }
        }System.out.println("======还有还有,别走,再看看呗======");
        for(int o=10000;o<100000;o++){ 
   
            int q=o/10000;
            int w=o/1000%10;
            int e=o/100%10;
            int r=o/10%10;
            int t=o%10;
            if(q*q*q*q*q + w*w*w*w*w + e*e*e*e*e + r*r*r*r*r + t*t*t*t*t ==o){ 
   
                System.out.println(q+","+w+","+e+","+r+","+t+"|"+"五位水仙花是:"+o);
            }
        }
    }
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
输出结果:
1,5,3|三位水仙花数是:153
3,7,0|三位水仙花数是:370
3,7,1|三位水仙花数是:371
4,0,7|三位水仙花数是:407
======再来看看其他的呗======
1,6,3,4|四位水仙花是:1634
8,2,0,8|四位水仙花是:8208
9,4,7,4|四位水仙花是:9474
======还有还有,别走,再看看呗======
5,4,7,4,8|五位水仙花是:54748
9,2,7,2,7|五位水仙花是:92727
9,3,0,8,4|五位水仙花是:93084

在学习的过程中,老师告诉我们,使用Math.pow(a,b):可以更简便代替 (x * x * x ) 在Math.pow的括号内,可以是两个double类型,计算出来的结果也是double类型。

所以,代码可以优化为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class ShuiXianHua{ 
   
    public static void main(String[] args){ 
   
        for(int i=100;i<1000;i++){ 
   
            if (Math.pow(i/100,3) + Math.pow(i/10%10,3) + Math.pow(i%10,3) == i){ 
   
                System.out.println(x+","+y+","+z+"|"+"三位水仙花数是:"+i);
            }
        }
    }
}

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157131.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验