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

java水仙花数代码,三位四位五位ShuiXianHua.javapublicclassShuiXianHua{publicstaticvoidmain(String[]args){for(inti=100;i<1000;i++){intx=i/100;inty=i/10%10;intz=i%10;if(x*x*x+y*y*y+z*z*z==i){

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

ShuiXianHua.java

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);
            }
        }
    }
}
输出结果:
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类型。

所以,代码可以优化为:

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.net/157131.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【matlab】meshgrid的使用

    【matlab】meshgrid的使用函数参数列表[X,Y]=meshgrid(x,y)[X,Y]=meshgrid(x)[X,Y,Z]=meshgrid(x,y,z)[X,Y,Z]=meshgrid(x)meshgrid可以生成2D或者3D的矩阵,如果为2D,矩阵的shape为(y.length,x.length)如果为3D,矩阵的shape为(y.length,x.length,z.length)代码示例sample1x=1:2;%length2y=3:5;%length3[X,Y]=m

    2022年5月29日
    41
  • linux(11)配置环境变量「建议收藏」

    linux(11)配置环境变量「建议收藏」前言在自定义安装软件的时候,经常需要配置环境变量,下面进行详细解析&nbsp;环境变量配置文件|用户|配置文件||:|:||系统环境|/ect/profil

    2022年7月29日
    10
  • Linux挂载磁盘(扩展根目录)

    Linux挂载磁盘(扩展根目录)1.df命令查看自己的/目录属于哪个逻辑卷(我们要做的是对逻辑卷扩展)[root@redhat6-3~]#df-h查看未挂载的磁盘:[root@redhat6-3~]#lsblk2.新加一块硬盘,我的是vdb先创建物理卷[root@redhat6-3~]#fdisk/dev/vdb在分别输入n、p、1、2048、1048575999、w如果报错,执行(类似刷新磁盘变化,如果磁盘无法格式化和无法创建物理卷):partprobe再执行:fdisk/dev/vdb

    2022年6月19日
    47
  • VC++分别使用WinExec、CreateProcess、ShellExecute和ShellExecuteEx来启动程序(附源码)

    VC++分别使用WinExec、CreateProcess、ShellExecute和ShellExecuteEx来启动程序(附源码)本文详细讲述使用调用WinExec、CreateProcess、ShellExecute和ShellExecuteEx多个API函数来实现程序启动的方法。

    2022年7月11日
    23
  • java ResourceBundle介绍「建议收藏」

    java ResourceBundle介绍「建议收藏」publicabstractclassResourceBundleextendsObject下列类的父类:ListResourceBundle,PropertyResourceBundle资源束包含特定于语言环境的对象。当程序需要一个特定于语言环境的资源时,如String,程序可以从适合当前用户语言环境的资源束中装入它。以这种方式,可以写大部分独立于用户语言环境的程序

    2022年7月12日
    16
  • github 京东自动签到_手机京东签到在哪里

    github 京东自动签到_手机京东签到在哪里京东自动签到(利用github实现)+Cooki失效解决办法京东自动签到https://ruicky.me/2020/06/05/jd-sign/参考上面这篇文章,就不转载过来了,原文已经写的很详细了。但自己实践时Sevrer酱提示Cookie失效,同时也看到此文下面有很多跟我一样情况的,所以有提示Cookie失效的请用下面链接的方法获取Cookie,记得复制出来的Cookie值要把所有空格删除。获取京东Cookiehttps://www.plus888.com/21061.html…

    2025年11月29日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号