Java打印出所有的水仙花数的实现代码

时间:2022-03-27 04:41:49

题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。

程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

程序设计:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public class exp2{
  public static void main(String args[]){
    int i=0;
    math mymath = new math();
    for(i=100;i<=999;i++)
      if(mymath.shuixianhua(i)==true)
      System.out.println(i);
  }
}
class math
{
  public int f(int x)
  {
    if(x==1 || x==2)
      return 1;
    else
      return f(x-1)+f(x-2);
  }
  public boolean iszhishu(int x)
  {
    for(int i=2;i<=x/2;i++)
      if (x % 2==0 )
       return false;
    return true;
  }
  public boolean shuixianhua(int x)
  {
    int i=0,j=0,k=0;
    i=x / 100;
    j=(x % 100) /10;
    k=x % 10;
    if(x==i*i*i+j*j*j+k*k*k)
     return true;
    else
     return false;
   
  }
}

更多内容请大家关注服务器之家之前发布的文章。