黑马程序员技术交流社区

标题: 求水仙花数 [打印本页]

作者: 青春是你的烟火    时间: 2015-8-2 21:18
标题: 求水仙花数
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
  1. public class Test{
  2.         public static void main(String[] args){
  3.                 for(int i=100;i<1000;i++){
  4.                         if(isLotus(i))
  5.                            System.out.print(i+" ");
  6.                 }
  7.                 System.out.println();
  8.         }
  9.         //判断水仙花数
  10.         private static boolean isLotus(int lotus){
  11.                 int m = 0;
  12.                 int n = lotus;
  13.                 int sum = 0;
  14.                 m = n/100;
  15.                 n  -= m*100;
  16.                 sum = m*m*m;
  17.                 m = n/10;
  18.                 n -= m*10;
  19.                 sum += m*m*m + n*n*n;
  20.                 if(sum==lotus)
  21.                         return true;
  22.                 else
  23.                         return false;
  24.                 }
  25. }
复制代码




作者: 70852    时间: 2015-8-2 22:22
好好好,不错啊
作者: 龙哥Longer    时间: 2015-8-2 23:04
谢谢分享,学习了
作者: 光晖碎乐    时间: 2015-8-2 23:30
赞一个,不错
作者: VCxiaopeng    时间: 2015-8-2 23:30
很好{:3_53:}
作者: vanish    时间: 2015-8-2 23:36
赞,写的不错
作者: JustForYou    时间: 2015-8-2 23:41
好厉害啊。赞一个....




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2