/**
2017年3月2日9:35:47
java基础50道经典练习题 例2
Author:ZJY
Purpose:查找水仙数应用
注: 所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
【程序3】
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位
数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次
方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
*/
public class ProgramNo3_1
{
public static void main(String[] args)
{
int count = 0;
for (int i=100; i<=999; i++) {
if(isNarcissusNumber(i)) {
count++;
System.out.printf(" %d", i);
if(0 == count%10) System.out.println();
}
}
System.out.printf("\n在100到999中属于水仙数的一共有: %d个", count);
}
public static boolean isNarcissusNumber(int number) {
if((100 > number)||(999 < number))
return false;
int units = (number%10)%10; //个位数 //注意:number%100与number%10%10不相同 如 110
int decade = (number/10)%10; //十位数
int hundreds = number/100; //百位数
//System.out.printf("units:%d,decade:%d,hundreds:%d", units,decade,hundreds);
if(number == (Math.pow(units, 3)
+ Math.pow(decade, 3)
+ Math.pow(hundreds, 3))){
return true;
}else {
return false;
}
}
}
【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位 数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次 方+5的三次方+3的三次方。
最新推荐文章于 2024-08-13 14:00:13 发布