Java三种求水仙花数的方法
时间:2021-06-10 08:23:57|栏目:JAVA代码|点击: 次
水仙花数:水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:370=33+73+00;371=33+73+13,370、371就是一个水仙花数
注意:要判断一个三位数是不是水仙花数,得先取得这个三位数的的个位,十位和百位
普通for循环:
public class Daffodil {
public static void main(String[] args) {
int count = 0; //定义水仙花数的个数
for(int i=100;i<=10000;i++){ //水仙花数范围
int b = i/100; //取得百位数
int s = (i-100*b)/10; //取得十位数
int g = (i-s*10-b*100); //取得个位数
if(i==g*g*g+s*s*s+b*b*b){ //水仙花数判定
System.out.print(i+" "); //输出符合条件的数
count++;
}
}
System.out.println(); //换行
System.out.println("水仙花数总共有"+count+"个"); //输出水仙花数的总数
}
}
while循环:
public class Daffodil {
public static void main(String args[]){
int i=100;
int count=0; //定义水仙花数的个数
while(i<10000){
int b = i/100; //取得百位数
int s = (i-100*b)/10; //取得十位数
int g = (i-s*10-b*100); //取得个位数
if(i==g*g*g+s*s*s+b*b*b){ //水仙花数判定
System.out.print(i+" "); //输出符合条件的数
count++;
}
i+=1;
}
System.out.println();
System.out.println("水仙花数总共有"+count+"个"); //输出水仙花数的总数
}
}
do-while循环:
public class Daffodil {
public static void main(String args[]){
int i=100;
int count=0; //定义水仙花数的个数
do{
i+=1;
int b = i/100; //取得百位数
int s = (i-100*b)/10; //取得十位数
int g = (i-s*10-b*100); //取得个位数
if(i==g*g*g+s*s*s+b*b*b){ //水仙花数判定
System.out.print(i+" "); //输出符合条件的数
count++;
}
}while(i<10000);
System.out.println();
System.out.println("水仙花数总共有"+count+"个"); //输出水仙花数的总数
}
}
上一篇:IntelliJ IDEA下Maven创建Scala项目的方法步骤
栏 目:JAVA代码
本文标题:Java三种求水仙花数的方法
本文地址:http://www.codeinn.net/misctech/139105.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




