From 96254947699986c59f0dc63d69fd4b76bd3ed43e Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Mon, 6 Jul 2026 19:08:08 +0200 Subject: Initial commit --- 07_mathematics/exponentiation_1095.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 07_mathematics/exponentiation_1095.cpp (limited to '07_mathematics/exponentiation_1095.cpp') diff --git a/07_mathematics/exponentiation_1095.cpp b/07_mathematics/exponentiation_1095.cpp new file mode 100644 index 0000000..1ba8509 --- /dev/null +++ b/07_mathematics/exponentiation_1095.cpp @@ -0,0 +1,19 @@ +#include + +static constexpr unsigned long long MOD = 1000000007; + +unsigned long long pow(unsigned long long a, unsigned long long b) { + if (b == 0) return 1; + if (a == 0) return 0; + if (b % 2 == 0) return pow(a*a % MOD, b/2) % MOD; + return (a * pow(a, b-1)) % MOD; +} + +int main() { + unsigned long long n, a, b; + std::cin >> n; + for (unsigned long long i = 0; i < n; i++) { + std::cin >> a >> b; + std::cout << pow(a, b) << "\n"; + } +} -- cgit v1.3