任意给定一个整数,数出这个数中的偶数个数,奇数个数,及这个数中所包含的所有位数的总数,然后将得到的这三个数按照“偶-奇-总”的位序重新排列,得到一个新的整数。将得到的新的整数重复上面的操作,经过有限次的这样的重复操作后,最终得到123这个整数。编程计算这样的重复过程有多少次。(假设该整数最大为九位数)
输入格式:
输入一个整数。
输出格式:
输出重复的次数。
输入样例:
1234
输出样例:
在这里给出相应的输出。例如:
3
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
co(n,0);
}
public static void co(int n,int count){
int l=1;
int temp=n;
while(temp/10!=0){
l++;
temp=temp/10;
}
int[] a=new int[l];
for (int i = 0; i < l; i++) {
a[i]=n%10;
n=n/10;
}
int ocount=0;
int jcount=0;
int zcount=l;
for (int i = 0; i < l; i++) {
if(a[i]%2==0){
ocount++;
}
if(a[i]%2!=0){
jcount++;
}
}
n=ocount*100+jcount*10+l;
count++;
if(n!=123) {
co(n, count);
}
else {
System.out.println(count);
}
}
}