问题描述
给定A, B, P,求(A^B) mod P。
输入格式
输入共一行。
第一行有三个数,N, M, P。
输出格式
输出共一行,表示所求。
样例输入
2 5 3
样例输出
2
数据规模和约定
共10组数据
对100%的数据,A, B为long long范围内的非负整数,P为int内的非负整数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <iostream> using namespace std; long long p(long long a, long long b, long long m) { if (b == 0) return 1; if (b % 2 == 1) return p(a, b - 1, m) * (a % m) % m; long long t = p(a, b / 2, m); return t * t % m; } int main() { long long a, b, m; cin >> a >> b>> m; cout << p(a, b, m); return 0; } |
❤ 点击这里 -> 订阅《PAT | 蓝桥 | LeetCode学习路径 & 刷题经验》by 柳婼