Задача ЕГЭ по инфоматике - C#

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

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

Снова нужна помощь по ЕГЭ.
На вход подается набор символов, оканчивающийся точкой. Составить из имеющихся в тексте нечетных цифр число максимальной длины, которое читается одинаково как слева направо, так и справа налево. Все цифры использовать не обязательно. Если требуемое число составить нельзя, то вывести слово NO; если же можно, то в первой строке вывести слово YES, а во второй — строку, изображающую найденное число. Если таких чисел несколько, то вывести минимальное из них.
П.С. Не обязательно всю задачу, можно только ту часть, где написано про число.

Решение задачи: «Задача ЕГЭ по инфоматике»

textual
Листинг программы
using System;
using System.Text;
 
namespace C4
{
    class Program
    {
        static int[] digits = new int[10];
 
        static void Main(string[] args)
        {
            char input;
            while ((input = (char)Console.Read()) != '.')
            {
                if (char.IsDigit(input))
                {
                    int value = (int)char.GetNumericValue(input);
                    if ((value & 1) == 1) digits[value]++;
                }
            }
 
            StringBuilder buffer = new StringBuilder();
 
            int max = -1;
            for (int i = 1; i < digits.Length; i += 2)
            {
                while (digits[i] > 1)
                {
                    buffer.Insert(0, i);
                    buffer.Append(i);
                    digits[i] -= 2;
                }
 
                if (digits[i] > 0 && i > max) max = i;
            }
            if (max > 0) buffer.Insert(buffer.Length / 2, max);
 
            if (buffer.Length > 0)
            {
                Console.WriteLine("YES");
                Console.WriteLine(buffer);
            }
            else
                Console.WriteLine("NO");
        }
    }
}

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


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

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

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