pascalabc.net
function числовторыхмаксимумов(a: array of integer) : =
a.groupby(p -> p) // сгруппировали одинаковые
.select(p -> (p.count, p.key)) // создали кортежи (кол, значение)
.orderbydescending(p -> p[1]) // отсортировали по убыванию значений
.skip(1) // пропустили первый элемент
.take(1) // взяли только второй элемент
.select(p -> p[0]); // выделили из кортежа количество
begin
var n: =readinteger('n ='); // длина массива
var a: =arrrandom(n, 1, 10); // инициализируем массив
a.println; // выводим его
числовторыхмаксимумов(a).println // вызываем функцию, выводим результат
end.
ответ:
47₁₆
объяснение:
2d₁₆ + 1a₁₆
сложение "в столбик". ведем его в десятичной системе и делаем корректировку на разницу оснований систем т.е. на 16-10=6, если результат превышает 15.
нужно помнить (или пользоваться таблицей), в соответствии с которой:
а₁₆=10₁₀; b₁₆=11₁₀; c₁₆=12₁₀; d₁₆=13₁₀; e₁₆=14₁₀; f₁₆=15₁₀.
d₁₆+a₁₆ = 13 + 10 = 23. корректировка: 23 - 6 = 17₁₆ записываем 7 и +1 в следующий разряд.
2+1+1=4. тут корректировка не нужна. результат 47₁₆
2 d
+ 1 a
4 7
Поделитесь своими знаниями, ответьте на вопрос: