分析:一个布尔类型的函数isNarcissus(int i)用于判断传入的参数是否是水仙花数,其中包含了求一个数的百位,十位,个位,最难理解的求十位,一个三位数取模100后得到一个两位数,比如256%100=56,此时再将这个两位数除以10得到商,余数被自动省略,即56/10=5,两次之后得到256的十位是5
代码如下:
public class Main {
public static boolean isNarcissus(int i){//判断一个数是否是水仙花书
int a = i/100;//百位
int b = (i%100)/10;//十位
int c = i%10;//个位
if(i==(a*a*a+b*b*b+c*c*c)){
return true;
}
return false;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//那就输出100到999的水仙花数
for(int i=100;i<=999;i++){
if(isNarcissus(i)){
System.out.println(i);
}
}
}
}