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_ii_1712.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 07_mathematics/exponentiation_ii_1712.cpp (limited to '07_mathematics/exponentiation_ii_1712.cpp') diff --git a/07_mathematics/exponentiation_ii_1712.cpp b/07_mathematics/exponentiation_ii_1712.cpp new file mode 100644 index 0000000..6a894f5 --- /dev/null +++ b/07_mathematics/exponentiation_ii_1712.cpp @@ -0,0 +1,20 @@ +#include + +static constexpr unsigned long long MOD = 1000000007; + +unsigned long long pow(unsigned long long a, unsigned long long b, + unsigned long long mod) { + if (b == 0) return 1; + if (a == 0) return 0; + if (b % 2 == 0) return pow(a*a % mod, b/2, mod) % mod; + return (a * pow(a, b-1, mod)) % mod; +} + +int main() { + unsigned long long n, a, b, c; + std::cin >> n; + for (unsigned long long i = 0; i < n; i++) { + std::cin >> a >> b >> c; + std::cout << pow(a, pow(b, c, MOD-1), MOD) << "\n"; + } +} -- cgit v1.3