题目:快速幂(蓝桥OJ 1514)

题目描述:

        题目:快速幂(蓝桥OJ 1514)_第1张图片

解题思路:

        使用快速幂模板(倍增思想)。

题解:

#include
using namespace std;
using ll = long long;

ll ksm(ll a, ll b, ll c)//注意:需要取模的地方都取模c,且多处地方取同一模不影响结果
{
  ll res = 1;
  while(b)
  {
    if(b&1)res = res * a % c;
    a = a * a % c;b >>= 1;
  }
  return res % c;
}

int main()
{
  ll a, b, c;cin >> a >> b >> c;
  cout << ksm(a, b, c);
  return 0;
}

你可能感兴趣的:(算法)