Java教程

快速幂取模运算

本文主要是介绍快速幂取模运算,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

落谷p1226
理论依据

#include<iostream>
#include<cstdio>
using namespace std;
long long fun(long long a,long long b,long long c){
    long long An = 1;
    long long T = a % c;
    while(b!=0){
        if(b&1){
            An = (An * T)%c;
        }
        b >>= 1;
        T = (T*T)%c;
    }
    return An;
}
int main(){
    long long a,b,c;
    cin >> a >> b >> c;
    // cout << fun(a,b,c);
    printf("%lld^%lld mod %lld=%lld",a,b,c,fun(a,b,c));
}
这篇关于快速幂取模运算的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!