// 题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。
// 例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
// 例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
// 程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
package wzs.arithmetics;
// 题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。
// 例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
// 程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
public class Test_wzs3
{
public static void main(String[] args)
{
for (int i = 100; i < 999; i++)
{
if (Test_wzs3.f(i))
{
System.out.print(i + ",");
}
}
}
public static boolean f(int number)
{
if (number < 100 || number > 999)
{
System.out.println("请输入三位数.");
return false;
}
int a, b, c;// a百位数字,b十位数字,c个位数字
a = number / 100;
b = (number % 100) / 10;
c = number % 10;
if (number == a * a * a + b * b * b + c * c * c)
{
return true;
}
else
{
return false;
}
}
}