打印所有的水仙花数。
public class Ex03daffodil {
/*
* 水仙花数是个三位数n
*
* 水仙花个位数i=n%10
*
* 水仙花十位数j=(n/10)%10
*
* 水仙花百位数k=n/100
*
* 水仙花数满足n=i*i*i+j*j*j+k*k*k
*
* java中的幂运算Math.pow(a,b)
*
*/
public boolean daf(int n){
boolean b = false;
int i = n%10;
int j = (n/10)%10;
int k = n/100;
int pow = (int) (Math.pow(i, 3) + Math.pow(j, 3) + Math.pow(k, 3));
if(n == pow)
b = true;
return b;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Ex03daffodil d = new Ex03daffodil();
System.out.println("所有的水仙花数如下:");
for (int i=100;i<1000;i++){
if(d.daf(i)){
System.out.println(i);
}
}
}
}
【运行结果】
所有的水仙花数如下:
153
370
371
407