作者:草莓顽子该_589 | 来源:互联网 | 2024-10-19 01:18
题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和 等于该数本身。例如:153 是一个 "水仙花数 ",因为 153=1 的三次方+5 的三次方+3 的三次方。
1.程序分析:利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位。
package com.qq.weixin;public class exp3 {public static void main(String args[]) {int i &#61; 0;math mymath &#61; new math();for (i &#61; 100; i <&#61; 999; i&#43;&#43;)if (mymath.shuixianhua(i) &#61;&#61; true)System.out.println(i);}
}class math {public int f(int x) {if (x &#61;&#61; 1 || x &#61;&#61; 2)return 1;elsereturn f(x - 1) &#43; f(x - 2);}public boolean iszhishu(int x) {for (int i &#61; 2; i <&#61; x / 2; i&#43;&#43;)if (x % i &#61;&#61; 0)return false;return true;}public boolean shuixianhua(int x) {int i &#61; 0, j &#61; 0, k &#61; 0;i &#61; x / 100;j &#61; (x % 100) / 10;k &#61; x % 10;if (x &#61;&#61; i * i * i &#43; j * j * j &#43; k * k * k)return true;elsereturn false;}
}