求水仙花数字

Posted XuGuobao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求水仙花数字相关的知识,希望对你有一定的参考价值。

一个三位数,它的各位数字的立方和等于其本身,比如: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 }

 

以上是关于求水仙花数字的主要内容,如果未能解决你的问题,请参考以下文章

求水仙花数字

python如何求水仙花数

c语言编程调用函数求水仙花数

C语言-求三位数的水仙花数

整数倒置和求水仙花数

java 求水仙花数