首页 > 代码库 > 3 水仙花数
3 水仙花数
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
1 @SuppressWarnings({"rawtypes","unchecked"}) 2 public class _003ShuiXianFlower { 3 public static int b, s, g; 4 5 public boolean isDaffodilNumber(int i) { 6 boolean flag = false; 7 // 个位数 8 g = i % 10; 9 // 十位数 10 s = (i / 10) % 10; 11 // 百位数 12 b = i / 100; 13 14 if (i == ((g * g * g) + (s * s * s) + (b * b * b))) { 15 flag = true; 16 } 17 return flag; 18 } 19 20 public static void countFlower() { 21 int x = 0; 22 Vector v = new Vector(); 23 _003ShuiXianFlower db = new _003ShuiXianFlower(); 24 for (int i = 100; i < 1000; i++) { 25 if (db.isDaffodilNumber(i) == true) { 26 v.add(i); 27 x++; 28 } 29 } 30 System.out.println("100到1000之间有" + x + "个水仙花数"); 31 System.out.println("所有的水仙花数为:" + v); 32 } 33 34 public static void main(String[] args) { 35 countFlower(); 36 } 37 }
3 水仙花数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。