using System; using System.Linq; public class Test { private static int? SwapMax(int n) { var a = n.ToString().ToCharArray(); var c = a.Max(); var i = Array.IndexOf(a, c); if (i == 0) return null; a[i] = a[i-1]; a[i-1] = c; return int.Parse(new String(a)); } public static void Main() { foreach (var n in new int[] {23, 32, 4056, 4056456, 8, 99, 89, 98, 103}) Console.WriteLine("{0} => {1}", n, SwapMax(n)); } }