#!/usr/bin/env python3 # -*- coding: utf-8 -*- # author: bt3gl ``` Binary exponentiation, also known as exponentiation by squaring, is a technique for efficiently computing the power of a number. By repeatedly squaring x and halving n, we can quickly compute x^n using a logarithmic number of multiplications. ```` def binary_exp(x: float, n: int) -> float: if n == 0: return 1 if n < 0: return 1.0 / binary_exp(x, -1 * n) if n % 2 == 1: return x * binary_exp(x * x, (n - 1) // 2) return binary_exp(x * x, n // 2)