Усталый писал(а):
Нет. longint в Pascal, по-моему, зависит от разрядности процессора. В любом случае,

-- это больно круто. Это примерно

Так что всё, что больше 32-й (64-й) степени двойки -- «большое число».
Да нет, это как раз возведение небольшого числа в большую степень.
Двоичная оптимизация позволяет не умножать 32000 раз а обойтись всего log2(32000)=15-ю умножениями.
А свойство модуля (x^y mod m = (x mod m)^y) позволяет не искать само число, а только результат.
А большое число - это массив из нескольких long чисел - такие числа за одну операцию не перемножишь и надо писать специальные функции сложения/умножения таких больших чисел.
Эти большие числа используются в RSA шифровании - там используют простые числа длиной ... 1024 бита это 128 байт - т.е. массив из 32 long чисел!
В десятичном виде это будет строка из 200 цифр!
Но раз надо всего лишь 32000 ^ 32000 - то тот пример подойдёт.