快速幂算法(模板代码)

#include <cstdio>
#include <cmath>//#include<bits/stdc++.h>.万能头
#include <cstring>//memcpy(HH,hh,sizeof(hh));赋值函数,将hh赋值给HH
#include <iostream>//str.erase(std::remove(str.begin(), str.end(), 'k'), str.end());删除指定字符
#include<algorithm>//排列函数next_permutation(a,a+4);
#include<stack>
#include<queue>
using namespace std;
long long mi(long long A,long long B,long long C){
    long long mid = 1;
    while(B){//质数不为零 
        if(B&1){//位运算判断奇偶 
            mid *= A;//结果乘当前底数 
            mid %= C;
        }
        A *= A;//底数平方化 
        A %= C;
        B /= 2;//指数减少一倍 
    }
 
    return mid;
}
 
int main(){
std::ios::sync_with_stdio(false);
  long long A,B,C;
    cin>>A>>B>>C;
    cout<<mi(A,B,C)<<endl;
    return 0;
}

 算法介绍:快速幂算法(全网最详细地带你从零开始一步一步优化)_扬俊的小屋-CSDN博客_快速幂算法icon-default.png?t=LBL2https://blog.csdn.net/qq_19782019/article/details/85621386?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164225667316780271561223%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164225667316780271561223&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-85621386.pc_search_result_cache&utm_term=%E5%BF%AB%E9%80%9F%E5%B9%82&spm=1018.2226.3001.4187

posted @ 2023-03-11 13:21  冷月半明  阅读(22)  评论(0)    收藏  举报  来源