问题 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);

   

}

 

全部评论

相关推荐

03-18 09:45
莆田学院 golang
牛客749342647号:佬,你这个简历模板是哪个,好好看
点赞 评论 收藏
分享
03-15 12:48
门头沟学院 Java
牛牛要早起:这个一般就跟你说有高薪,然后叫你买车,之后血亏
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务