import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int r = sc.nextInt();
int f = f(r);
System.out.println(f);
}
public static int f(int n) {
if (n == 6174) {
return 0;
}
return f(res(n))+1;
}
public static int res(int n){
int nums[] = new int[4];
int cnt = 0;
while (n != 0){
int x = n%10;
nums[cnt++] = x;
n /= 10;
}
Arrays.sort(nums);
return ((nums[3]*1000+nums[2]*100+nums[1]*10+nums[0])-(nums[0]*1000+nums[1]*100+nums[2]*10+nums[3]));
}
}
试题名称 算法提高 数字黑洞——Java(递归)
最新推荐文章于 2025-12-02 21:20:38 发布
该Java程序实现了一个计算 Kaprekar 常数6174的过程。它读取用户输入的整数,通过排序数字并计算差值,直到得到6174或者达到指定的迭代次数。程序涉及到了数字处理和排序算法。
930

被折叠的 条评论
为什么被折叠?



