数学黑洞6174
已知:一个任意的四位正整数。将数字重新组合成一个最大的数和最小的数相减,重复这个过程,最多七步,必得6174。即:7641-1467=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;
}
}