Квадрат максимального

Дано трьохзначне натуральне число. Переставити цифри цього числа так, щоб отримати максимальне число, що записується тими ж цифрами. Потім це максимальне число необхідно піднести до квадрату та вивести на екран.

Вхідні дані

Одне трьохзначне натуральне число.

Вихідні дані

Вивести квадрат максимального числа.

Алгоритм розв’язку задачі

  • Розбиваємо число на окремі цифри;
  • Сортуємо отримані числа по спаданню;
  • Склеюємо окремі цифри в число та підносимо його до квадрату;

Код програми

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        var n = Convert.ToInt32(Console.ReadLine());
       
        var digits = IntToDigits(n).OrderByDescending(x => x);

        var result = 0;
        var size = digits.Count();
        foreach (var d in digits)
        {
            result *= 10;
            result += d;            
        }

        result*=result; //піднесення до квадрату

        Console.WriteLine(result);
    }

    //метод для отримання списку цифр числа
    static List<int> IntToDigits(int n)
    {
        n = Math.Abs(n);
        var digits = new List<int>();
        while (n > 0)
        {
            int digit = n % 10;
            n /= 10;
            digits.Add(digit);
        }

        return digits;
    }
}

Дивіться також: