题目链接
https://ac.nowcoder.com/acm/contest/996/A
题目描述
求 a 的 b 次方对 p 取模的值
代码实现
#include <iostream>
#include <cstdio>
using namespace std;
typedef long long ll;
int a, b, p;
ll cal(int x, int y, int modn) {
if(y == 1) return x%modn;
if(y == 0) return 1;
ll hlf = cal(x, y>>1, modn) % modn;
ll h2 = (hlf*hlf)%modn;
if(y&1) return (h2*x)%modn;
return h2;
}
int main()
{
scanf("%d%d%d", &a, &b, &p);
int ans = cal(a, b, p) % p;
cout<<ans<<endl;
return 0;
}
二分即可,简单题。
从今天开始打卡牛客网上的习题
2020.8.30