问题 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 的值。

样例输入

扫描二维码关注公众号,回复: 6752346 查看本文章
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);

   

}

猜你喜欢

转载自blog.csdn.net/qq_43330483/article/details/94611137
B
a^b
A/B
A*B