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

java-基础练习题3

时间:2016-08-10 22:42:41      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

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

方法:把一个三位数,分解为个位,十位,百位,用到了取余运算,然后再把获取到的三个数来个三次方相加==三位数

 1     private boolean flowerNumber(int number) {
 2         boolean flag = true;
 3         int one = number % 10;
 4         int ten = number / 10 % 10;
 5         int hundred = number / 100 % 10;
 6         double v = Math.pow(one, 3) + Math.pow(ten, 3) + Math.pow(hundred, 3);
 7         if (number == (int) (v)) {
 8             flag = true;
 9         } else {
10             flag = false;
11         }
12         return flag;
13     }

 

测试代码:

1     @Test
2     public void test3() {
3         for (int i = 100; i <= 999; i++) {
4             if (flowerNumber(i)){
5                 System.out.print(i+",");
6             }
7         }
8         System.out.println();
9     }

 

测试结果:

153,370,371,407,

 

java-基础练习题3

标签:

原文地址:http://www.cnblogs.com/liyiran/p/5758930.html

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