数字黑洞123
任取-一个数,相继依次写下它所含的偶数的个数,奇数的个数与这两个数字的和,将得到一一个正整数。
对这个新的数再把它的偶数个数和奇数个数与其和拼成另外-一个正整数,如此进行,最后必然停留在数123。
例:所给数字14741029
第一次计算结果448
第二次计算结果303
第三次计算结果123
import java.util.Arrays;
import java.util.Scanner;
/**
* 数字黑洞123
* 任取一个数,记下他偶数个数,奇数个数以及他们的和,组成一个新的正整数
* 把这个新数依然继续记下偶数奇数以及和组成的新数,循环下去,最后一定会得到123
*/
public class demo01 {
static String jisuan(String num){
int jishuNum=0,oushuNum=0;
for (int i = 0; i<num.length(); i++){
if( Integer.parseInt(String.valueOf(num.charAt(i))) % 2 == 0 ){
//偶数
oushuNum++;
}else{
//奇数
jishuNum++;
}
}
return String.valueOf(oushuNum)+String.valueOf(jishuNum)+String.valueOf(oushuNum+jishuNum);
};
public static void main(String[] args) {
System.out.print("请输入:");
String num = new Scanner(System.in).next();
String newNum ;
while (true){
newNum = jisuan(num);
System.out.println("第一次计算的结果是:"+newNum);
if(newNum.equals("123")){
//已经到了最后结果123了,重复计算一遍,验算结果是不是123
jisuan(newNum);
break;
}else{
num = newNum;
}
}
}
}
![](https://img-blog.csdnimg.cn/img_convert/fc4db90f6868cd85aa66c6189a3a8915.png)