我喜欢写成这样
/*
* 打印1~10000水仙花数
*
* 思路:写一个无返回值,需要一个int参数方法的Test,里面做一个FOR循环,对传入的数就是循环的次数
* 水仙花数说的是一百到999之间的数才有
* 然后在打印每一个数时都进行一次判断,进行拆分出个,十,百位,然后每一个的三次方加起来是不是与这个数一致
* 是则打印了来
* */
public class demo01 {
public static void main(String[] args) {
Test(100);
}
public static void Test(int i){
for (int a=i;a<=999;a++){
int hun=a/100;
int top=a%100/10;
int num=a%100%10;
int hunX=(int)Math.pow(hun, 3);
int topX=(int)Math.pow(top, 3);
int numX=(int)Math.pow(num, 3);
if(a==(hunX+topX+numX)){
System.out.print(a+"\t");
}
}
}
} |