Контест Junior Типы и нулевые значения обновлено
Наименьший целый тип для суммы на Go
Условие
Даны n целых чисел. Найдите их сумму и наименьший знаковый тип Go из int8, int16, int32, int64, в который эта сумма помещается без переполнения.
Ввод: в первой строке n (1 ≤ n ≤ 10⁵), во второй n чисел, |aᵢ| ≤ 10¹².
Вывод: сумма и имя типа через пробел.
Пример
3
100 20 7
127 int8
Как подойти
Сложить в int64, затем по очереди сравнить с границами int8, int16, int32.
Подсказки: 2
- Какой тип выдержит 10⁵ × 10¹²?
- Границы есть в пакете math: math.MaxInt16 и т.п.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.
Предыдущий вопрос
Права доступа битовой маской на Go
Следующий вопрос
Что выведет Go: преобразования чисел