Задача Задача №3611903
А
А
Задача: дано число n. Нужно вывести n в степени n, то есть n^n.
Что это означает
- n^n = n × n × ... × n (n раз).
- Примеры: 2^2 = 4, 3^3 = 27.
Способ 1. Простой метод (пошаговое умножение)
- Алгоритм:
- прочесть n (натуральное число);
- результат = 1;
- повторить n раз: результат = результат × n;
- вывести результат.
- Сложность: O(n) умножений.
- Пояснение на примерах:
- n = 2: результат начинается 1, затем 1×2 = 2, ещё раз 2×2 = 4 → вывод 4.
- n = 3: 1×3 = 3, потом 3×3 = 9, ещё 9×3 = 27 → вывод 27.
Способ 2. Быстрое возведение в степень (рекомендуется для больших n)
- Это стандартный алгоритм «быстрое возведение в степень» (возведение в степень за O(log n) умножений).
- Алгоритм (итеративный):
- result = 1
- базa = n, экспонента = n
- пока экспонента > 0:
- если экспонента чётная — ничего не умножаем на result
- если экспонента нечётная — result = result × базa
- базa = базa × базa
- экспонента = экспонента // 2
- вернуть result
- Примечание: для нуля и отрицательных n не требуется в рамках обычной школьной задачи (обычно n ≥ 1).
Особенности и замечания
- Для натурального n результат быстро становится огромным; в большинстве языков программирования поддерживается произвольная точность целых чисел (например, Python) или же потребуется большое число (big integer) тип.
- Если n = 0, в математике 0^0 спорно, но в большинстве задач программно принимают 0^0 = 1. На школьных примерах это редко встречается.
Примеры для данных в задаче
- Ввод: 2 → вывод: 4
- Ввод: 3 → вывод: 27
Итог
- Чтобы получить n^n, можно просто перемножать n на себя n раз (пошагово), или воспользоваться быстрым возведением в степень для больших n. В любом случае ответ есть: n^n.