问题 B: A的B次方
问题 B: A的B次方
题目链接:http://acm.ocrosoft.com/problem.php?cid=1700&pid=1
题目描述:
题目描述
给出三个整数 a,b,m,求 abmodm 的值。
输入
一行三个整数 a,b,m。
对于全部数据,1≤a,b,m≤109。
输出
一个整数,表示 abmodm 的值。
样例输入
2 100 1007
样例输出
169
思路:没有思路,就是裸的快速幂
代码:
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int quickpow(int a, int b, int n)
{
if (b == 1)return a;
else
{
if (b % 2 == 0)
{
ll t = quickpow(a, b / 2, n);
return t * t%n;
}
else
{
ll t = quickpow(a, b / 2, n);
t = t * t%n;
t = t * a%n;
return t;
}
}
}
int main()
{
ll a, b, n;
cin >> a >> b >> n;
cout << quickpow(a, b, n);
}