Функция math.Pow возвращает float64, мы явно указываем int32 и пытаемся вместить большое число — что произойдёт?

При преобразовании float64 в int32 дробная часть отбрасывается. Если целая часть не представима, результат зависит от реализации; полагаться на wraparound или конкретное число нельзя.

Короткий ответ

Что ответить на собеседовании

При преобразовании float64 в int32 дробная часть отбрасывается. Если целая часть не представима, результат зависит от реализации; полагаться на wraparound или конкретное число нельзя.

Подробный разбор

Ответ с пояснениями

При преобразовании float64 в int32 дробная часть отбрасывается. Если целая часть не представима, результат зависит от реализации; полагаться на wraparound или конкретное число нельзя.

Сначала проверьте NaN, бесконечность и допустимый диапазон усечённого значения. Runtime-преобразование обычно не вызывает автоматическую panic только из-за выхода за диапазон, но это не делает результат полезным. С константой, которую компилятор сразу не может представить в int32, ситуация другая — ошибка компиляции. Для точной целочисленной степени лучше использовать целочисленный алгоритм с проверкой переполнения.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее