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

   

}

 

全部评论

相关推荐

09-29 16:59
已编辑
门头沟学院 Java
牛客96609213...:疯狂背刺,之前还明确设置截止日期,还有笔试,现在一帮人卡在复筛,他反而一边开启扩招,还给扩招的免笔试,真服了,你好歹先把复筛中的给处理了再说
投递大疆等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务