package 水仙花数;
/**
* 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
* 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
* 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
*
* @author tonylp
*/
public class daffodils {
public static void main(String[] args) {
int a, b, c;
int data;
for (int i = 100; i < =999; i++) {
a = i / 100;
b = (i - 100 * a) / 10;
c = i%10;
data = a*a*a+b*b*b+c*c*c;
if(data == i){
System.out.print(i+" ");
}
}
System.out.println();
System.out.println("-------分割线--------");
for(int i=100;i<=999;i++){
int t=i; //i 的值在每个循环里不能变
a=t%10;
t/=10;
b=t%10;
t/=10;
c=t;
data=a*a*a+b*b*b+c*c*c;
if(data==i)
System.out.print(i+" ");
}
}
}