标签:排序 har lse 友好 string span value port turn
这个在线测试平台可能真的有问题,或者说对java选手太不友好了,写出来的明明没问题,就是扣我分!
package com.company; import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); bgm:for (int i=0;;i++){ n=order(n); if (n==reverse(n)){ System.out.println(n+" - "+n+" = 0000"); break bgm; }else{ if (n>reverse(n)){ if (reverse(n)<1000){ System.out.println(n+" - 0"+reverse(n)+" = "+(n-reverse(n))); }else{ System.out.println(n+" - "+reverse(n)+" = "+(n-reverse(n))); } n=n-reverse(n); order(n); if (n==6174){ break bgm; } } else{ if (n<1000){ System.out.println(reverse(n)+" - 0"+n+" = "+(reverse(n)-n)); }else { System.out.println(reverse(n)+" - "+n+" = "+(reverse(n)-n)); } n=reverse(n)-n; order(n); if (n==6174){ break bgm; } } } } } //排序 public static int order(int number){ char[] arr=String.valueOf(number).toCharArray(); int[] n=new int[arr.length]; for (int i=0;i<arr.length;i++){ n[i]=Integer.parseInt(arr[i]+""); } Arrays.sort(n); int num=n[0]+n[1]*10+n[2]*100+n[3]*1000; return num; } //倒转 public static int reverse(int number){ int a=number/1000; int b=(number-a*1000)/100; int c=(number-a*1000-b*100)/10; int d=number-a*1000-b*100-c*10; int num=d*1000+c*100+b*10+a; return num; } }
标签:排序 har lse 友好 string span value port turn
原文地址:https://www.cnblogs.com/zhuzehua/p/9742443.html