算法题-经典水仙花数

来源:互联网 发布:最优路径b*算法 编辑:程序博客网 时间:2024/04/28 21:11

想跟更多圈子技术好友交流点击 ——>加入圈子

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

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


代码示例(来源网络):


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;
   }

}

推荐阅读

秒杀系统解决方案
小白科普:Netty有什么用?
聊一聊 Spring 中的线程安全性



长按识别二维码关注