題目:
打印出所有的“水仙花數(shù)”分井。
所謂"水仙花數(shù)"是指一個三位數(shù)车猬,其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個"水仙花數(shù)"尺锚,因?yàn)?53=1的三次方+5的三次方+3的三次方诈唬。
程序分析
利用for循環(huán)控制100-999個數(shù),每個數(shù)分解出個位缩麸,十位铸磅,百位。
程序代碼
package com.ljy.tencent;
/**
* 1)題目:打印出所有的"水仙花數(shù)".
* 2)所謂"水仙花數(shù)"是指一個三位數(shù)杭朱,其各位數(shù)字立方和等于該數(shù)本身阅仔。
* 3)例如:153是一個"水仙花數(shù)",因?yàn)?53=1的三次方+5的三次方+3的三次方弧械。
* 4)程序分析:利用for循環(huán)控制100-999個數(shù)八酒,每個數(shù)分解出個位,十位刃唐,百位羞迷。
* @author liaojianya
* 2016年10月2日
*/
public class ShuiXianZhiShu
{
public static void main(String[] args)
{
System.out.println("符合“水仙指數(shù)”的數(shù)為:");
PrintAll();
}
//打印出符合“水仙花數(shù)“的所有的數(shù)
public static void PrintAll()
{
int count = 0;
for(int i = 100; i <= 999; i++)
{
if(isIndex(i))
{
count++;
System.out.print(i + " ");
if(count % 10 == 0)
System.out.println();
}
}
}
//判斷i是否為"水仙花數(shù)"
public static boolean isIndex(int i)
{
int m = i / 100;
int n = (i - m * 100) / 10;
int k = i - m * 100 - n * 10;
int sum = m * m * m + n * n * n + k * k * k;
if(i == sum)
{
return true;
}
else
{
return false;
}
}
}
結(jié)果輸出
符合“水仙指數(shù)”的數(shù)為:
153 370 371 407