2018 蓝桥杯省赛 B 组模拟赛(五) D. 代码填空:快速幂


        题目链接: https://nanti.jisuanke.com/t/25087

        求x^y mod p,在O(log(n))的时间内实现。


实现代码:

#include <iostream>
using namespace std;

int pw(int x, int y, int p) {
    if (!y) {
        return 1;
    }
    int res = pw(x,y/2,p)*pw(x,y/2,p)%p;
    if (y & 1) {
        res = res * x % p;
    }
    return res;
}

int main() {
    int x, y, p;
    cin >> x >> y >> p;
    cout << pw(x, y, p) << endl;
    return 0;
}



全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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