Трішки реклами )
Використаємо алгоритм ...
# РЕКУРСІЯ
import sys
sys.setrecursionlimit(10000)
def step(x, n):
if n == 0: # Базовий випадок
return 1
else: # Рекурсивний випадок
return step(x, n - 1) * x
a=int(input())
n=int(input())
print(step(a, n))
# ЦИКЛ
a=int(input())
n=int(input())
step = a
for i in range (2, n + 1):
step *= a
print(step)
Алгоритм Евкліда.
Нехай m та n - одночасно не рівні нулю цілі невід'ємні числа. Тоді, якщо n = 0, то
НСД (m, 0 )= m,
а якщо n ≠ 0 то для чисел m, n, та r, де r - остача від ділення m на n , тоді
НСД(m, n)=НСД(n, r)
# РЕКУРСІЯ
def nod(a, b):
if b == 0: # Базовий випадок
return a
else: # Рекурсивний випадок
return nod(b, a % b)
a, b = map(int,input().split())
print(nod(a, b))