任意一个 5 位数,比如:34256,把它的各位数字打乱,重新排列,可以得到
一个最大的数:65432,一个最小的数 23456。
求这两个数字的差,得:41976,把这个数字再次重复上述过程(如果不足 5 位,则前边补 0)。如此往复,数字会
落入某个循环圈(称为数字黑洞)。
比如,刚才的数字会落入:[82962,75933, 63954, 61974]这个循环圈。
请编写程序,找到 5 位数所有可能的循环圈,并输出,每个循环圈占 1 行。
其中 5 位数全都相同则循环圈为[0],这个可以不考虑。循环圈的输出格式仿照:
[82962,75933, 63954, 61974]其中数字的先后顺序可以不考虑。
/*
*/
package Question30_39;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
61
import java.util.LinkedHashSet;
import java.util.Scanner;
import java.util.Set;
public class Question30TooDifficultMustRemember{
public static int MaxSubMin(int n) {
StringBuffer sb=new StringBuffer(""+n);
while (sb.length()<5) {
sb.insert(0, '0');
}
char ch[]=(sb.toString()).toCharArray();
Arrays.sort(ch);
int
max=(ch[4]-