AOJ0051 Differential II

問題リンク Differential II

  • 解法

数字を昇順、降順に並べ替えれば最小値と最大値が作れます。
並べ替えにArrays.sort()を使うと楽です。

  • ソース
import java.util.Arrays;
import java.util.Scanner;

//Differential II
public class AOJ0051 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int t = sc.nextInt();
		while(t--!=0){
			char[] a = sc.next().toCharArray();
			Arrays.sort(a);
			int m = Integer.parseInt(new String(a));
			char[] b = new char[8];
			for(int i=0;i<8;i++)b[i]=a[7-i];
			System.out.println(Integer.parseInt(new String(b))-m);
		}
	}
}