Вывести на экран цифру, которая наиболее часто встречается в шестандцатиричной записи числа - PascalABC.NET
Формулировка задачи:
С клавиатуры вводится число n .написать программу которая выводит на экран цифру, которая наиболее часто встречается в шестандцатиричной записи числа
Решение задачи: «Вывести на экран цифру, которая наиболее часто встречается в шестандцатиричной записи числа»
textual
Листинг программы
begin Writeln(ReadLnInteger().ToString('X').ToArray().GroupBy(ch -> ch).OrderByDescending(g -> g.Count()).First().Key); end.
Объяснение кода листинга программы
В данном коде:
ReadLnInteger()
- считывает целое число с консоли (или другого устройства ввода) и возвращает его..ToString('X')
- преобразует число в шестнадцатеричную систему счисления и возвращает строку..ToArray()
- преобразует полученную строку в массив символов.GroupBy(ch -> ch)
- группирует символы массива по их значению (символы с одинаковым значением будут в одной группе).OrderByDescending(g -> g.Count())
- сортирует группы в порядке убывания количества элементов в них.First()
- возвращает первый элемент (группу) из отсортированного списка групп.Key()
- возвращает ключ (характеристику) первого элемента (группы).Writeln(result)
- выводит результат на экран. Таким образом, код считывает число, преобразует его в шестнадцатеричную систему счисления, разбивает полученную строку на символы, группирует их по значению, сортирует группы в порядке убывания количества элементов, выбирает первую группу и выводит на экран её ключ (наиболее часто встречающийся символ).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д