Переставить цифры числа, чтобы получить максимально возможное - C#

Узнай цену своей работы

Формулировка задачи:

пользователь вводит с клавиатуры трехзначное натуральное число, которое сохраняется в переменную N, проверить корректность ввода, составить и вывести на экран число из цифр введенного числа N, так чтобы выведено число оказалось максимальным из возможных. Например если пользователь введет число 195, то программа должна вывести число 951

Решение задачи: «Переставить цифры числа, чтобы получить максимально возможное»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace ConsoleApplication1
  6. {
  7.     internal class Program
  8.     {
  9.         #region Private Methods
  10.  
  11.         private static IEnumerable<int> foo ( int num )
  12.         {
  13.             if ( Math.Log10 ( num ) < 2 || Math.Log10 ( num ) > 3 )
  14.                 throw new ArgumentException ( "num" );
  15.  
  16.             do
  17.             {
  18.                 yield return num % 10;
  19.             } while ( ( num /= 10 ) != 0 );
  20.         }
  21.  
  22.         private static void Main ( string[] args )
  23.         {
  24.             Console.WriteLine ( string.Join ( "", foo ( 951 ).OrderByDescending ( x => x ) ) );
  25.         }
  26.  
  27.         #endregion Private Methods
  28.     }
  29. }

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


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

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

5   голосов , оценка 4.4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы