=== Python 3.8.3 ===
def fastExp(b, n):
def even(n):
if n % 2 == 0:
return True
return False
if n == 0:
return 1
if even(n):
#Можно было написать return fastExp(b, b/2) ** 2, но операцию возведения в степень использовать нам запретили.
res = fastExp(b, n/2)
return res*res
return b*fastExp(b, n-1)
def main():
base = float(input())
exp = int(input())
print(fastExp(base, exp))
if __name__ == "__main__":
main()
Предложенные тесты проходит. Сам алгоритм быстрого возведения в степень реализован в виде функции fastExp(b, n)
1 или не один из вариантов (в случае если звёздочка имеет характеристику "жадность" т.е. не мы определяем сколько она символов занимает а целевая последовательность символов)
Объяснение:
??pri*.?*
Из всех вышеуказанных ближе всех 1 вариант т.к. он укладывается в схему выражения.
Два произвольных символа которые мы можем заменить на "na", затем константное выражение "pri" и потом звёздочка которую можем использовать как пустое множество, затем "." (точка), затем любой один символ - "q" и звёздочка которую мы также используем как пустое множество
P.S.
Не забывайте нажать " ", поставить оценку, и если ответ удовлетворил, то выберите его как "Лучший" :)