Переставить цифры числа, чтобы получить максимально возможное - 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
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы