题解 | #求root(N, k),内含证明#

求root(N, k)

https://www.nowcoder.com/practice/9324a1458c564c4b9c4bfc3867a2aa66

//root(N, k) = N % (k - 1)
#include <stdio.h>

typedef long long LL;

LL fast_pow(LL a, LL b, int mod) {
    LL res = 1;
    while(b > 0) {
        if(b & 1) res = res * a % mod;
        a = a * a % mod;
        b >>= 1;
    }
    return res;
}

int main() {
    LL x, y;
    int k;
    scanf("%lld%lld%d", &x, &y, &k);
    LL res = fast_pow(x, y, k - 1);
    if(res == 0) res += k - 1;
    printf("%lld", res);

    return 0;
}

参考链接https://blog.51cto.com/u_12312066/3638841

全部评论

相关推荐

09-25 10:34
东北大学 Java
多面手的小八想要自然醒:所以读这么多年到头来成为时代车轮底下的一粒尘
点赞 评论 收藏
分享
10-30 22:18
已编辑
毛坦厂中学 C++
点赞 评论 收藏
分享
4 收藏 评论
分享
牛客网
牛客企业服务