数学黑洞6174

数学黑洞6174
    已知:一个任意的四位正整数。将数字重新组合成一个最大的数和最小的数相减,重复这个过程,最多七步,必得6174。即:7641-1467=6174。将永远出不来。
    求证:所有四位数数字(全相同的除外),均能得到6174。输出掉进黑洞的步数。
public class NumberBlackHole {
	public static void main(String[] args) {
		getStep(1345);
	}
	public static int getStep(Integer num){
		int count=0;//计数
		while(num!=6174){ 
			num=getNum(num);
			count++;
		}
		System.out.println("共用"+count+"步");
		return count;
	}
	public static int getNum(Integer num){
		int[] nums=new int[4];
		nums[0]=num/1000;//取出千位数字
		nums[1]=num%1000/100;//取出百位数字
		nums[2]=num%100/10;//取出十位数字
		nums[3]=num%10;//取出个位数字
		Arrays.sort(nums);//排序,从小到大;
		int a=nums[0]*1000+nums[1]*100+nums[2]*10+nums[3];//min
		int b=nums[3]*1000+nums[2]*100+nums[1]*10+nums[0];//max
		int c=b-a;
		System.out.println(c+"="+b+"-"+a);
		return c;
	}
}

你可能感兴趣的:(array,6174,数学黑洞)