打印水仙花数,其各个数字立方和等于该数本身。(153=1*1*1+5*5*5+3*3*3)
奇思妙想,如果用多线程分块计算这样的相同模块会不会快点。
由于题目有要求是1~10000,我不知道是要整除多少次10,我就用递归来处理。由于中途要保存num的值,所以我在方法里做了一个小修改。
package com.book.chapter3;
/**
* @author tky
* @date 2019-02-12 10:56
*/
public class test01 {
public static void main(String[] args) {
for (int i = 100;i<10000;i++){
if (i==calc(i,0)){
System.out.println(i);
}
}
}
private static int calc(int i ,int num){
int num1,num2;
num2 = i/10;
num1 = i%10;
num += num1*num1*num1;
if (num2 != 0) {
return calc(num2,num);
}
return num;
}
}