Переставить цифры числа, чтобы получить максимально возможное - C#
Формулировка задачи:
пользователь вводит с клавиатуры трехзначное натуральное число, которое сохраняется в переменную N, проверить корректность ввода, составить и вывести на экран число из цифр введенного числа N, так чтобы выведено число оказалось максимальным из возможных. Например если пользователь введет число 195, то программа должна вывести число 951
Решение задачи: «Переставить цифры числа, чтобы получить максимально возможное»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; namespace ConsoleApplication1 { internal class Program { #region Private Methods private static IEnumerable<int> foo ( int num ) { if ( Math.Log10 ( num ) < 2 || Math.Log10 ( num ) > 3 ) throw new ArgumentException ( "num" ); do { yield return num % 10; } while ( ( num /= 10 ) != 0 ); } private static void Main ( string[] args ) { Console.WriteLine ( string.Join ( "", foo ( 951 ).OrderByDescending ( x => x ) ) ); } #endregion Private Methods } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д