黑马程序员技术交流社区

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

作者: 静水★流深    时间: 2015-6-11 08:28
标题: 水仙花数
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
  
public class  Prog3{
  
    public static void main(String[] args){
  
        for(int i=100;i<1000;i++){
  
            if(isLotus(i))
  
                System.out.print(i+" ");
  
        }
  
        System.out.println();
  
    }
  
    //判断水仙花数
  
    private static boolean isLotus(int lotus){
  
        int m = 0;
  
        int n = lotus;
  
        int sum = 0;
  
        m = n/100;
  
        n   -= m*100;
  
        sum = m*m*m;
  
        m = n/10;
  
        n -= m*10;
  
        sum += m*m*m + n*n*n;
  
        if(sum==lotus)
  
            return true;
  
        else
  
            return false;
  
        }
  
}
  


作者: zheng72566    时间: 2015-6-11 08:50
抢沙发,消灭零回复




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