求水仙花数字

本文介绍了一段Java代码,该代码能够找出指定范围内的所有水仙花数。水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153=1^3+5^3+3^3。通过用户输入两个整数作为范围,程序将输出此区间内所有的水仙花数。
摘要由CSDN通过智能技术生成

一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。

 1 package test02;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Iterator;
 5 import java.util.Scanner;
 6 /*
 7  * 指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。 
 8  * */
 9 public class ShuiXianHua {
10     public static void main(String[] args) {
11         Scanner in = new Scanner(System.in);
12         while(true){
13             String str = in.nextLine();
14             String st[] = str.split(" ");
15             Integer n1 = new Integer(st[0]);
16             Integer n2 = new Integer(st[1]);
17             ArrayList<Integer> arr = new ArrayList<Integer>();//用于存储合格数字
18             for(int i=n1;i<=n2;i++){
19                 int num1 = i/100;            //得到百位
20                 int num2 = (i-num1*100)/10;
21                 int num3 = i-num1*100-num2*10;
22                 int b0 = (int) java.lang.Math.pow(num1,3);
23                 int b1 = (int) java.lang.Math.pow(num2,3);
24                 int b2 = (int) java.lang.Math.pow(num3,3);
25                 if(i == (b0+b1+b2)){
26                     arr.add(new Integer(i));
27                 }
28             }
29             if(arr.size() == 0){        //不存在合格的数字
30                 System.out.print("no");
31             }else{
32                 Iterator<Integer> it = arr.iterator();
33                 for(int i=0;i<arr.size();i++){
34                     if(i<arr.size()-1){
35                         System.out.print(it.next() + " ");
36                     }else{
37                         System.out.print(it.next());
38                     }
39                 }
40             }
41             System.out.println();
42         }
43     }
44 }

 

转载于:https://www.cnblogs.com/XuGuobao/p/7367920.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值