码迷,mamicode.com
首页 > 编程语言 > 详细

java每日小算法(3)

时间:2014-05-15 19:05:20      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:public   水仙花   false   count   java   

【程序3】
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

package test;
public class test {
     public static boolean daffodil(int num) {
        boolean flag = false;
        int temp = num;
        int count = 0;
        int sum = 0;
        while(true)
        {
            if(temp / 10 < 1)
                {
                    count++;
                    break;
                }
            temp = temp / 10;
            count++;
        }
        temp = num;
        for(int i=0; i<count; i++)
        {
            sum = sum + (temp % 10)*(temp % 10)*(temp % 10);
            temp = temp / 10;
        }
        if(sum == num)
            flag = true;
        return flag;
     }
          
      
 public static void main(String[] args) {
     long a = System.currentTimeMillis();
     for(int i = 101; i<= 999; i++)
         {
         if(daffodil(i))
             System.out.println("The daffodil number : "+i);
         }
     System.out.println(System.currentTimeMillis() - a);
 }
}


java每日小算法(3),布布扣,bubuko.com

java每日小算法(3)

标签:public   水仙花   false   count   java   

原文地址:http://gomic.blog.51cto.com/8689134/1411925

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!