A 的 B 次方(信息学奥赛一本通- P1616)(快速幂模版题比较简单)
【题目描述】
给出三个整数 a,b,m,求 abmodm 的值。
【输入】
一行三个整数 a,b,m。
【输出】
一个整数,表示 abmodm 的值。
【输入样例】
2 100 1007【输出样例】
169【提示】
数据范围与提示:
对于全部数据,1≤a,b,m≤109 。
#include <iostream>
using namespace std;long long quickmi(long long a,long long b,long long m){a=a%m;long long ans=1;while(b>0){if(b%2==1) ans=(ans*a)%m;//当b为奇数时,就取一个a出来,b-1次方就是偶数了a=(a*a)%m;b/=2;}return ans;
}int main() {long long a,b,m;cin>>a>>b>>m;cout<<quickmi(a,b,m);return 0;
}
