洛谷 P1226 快速冪取模 模板
阿新 • • 發佈:2019-01-27
題目描述
輸入b,p,k的值,求b^p mod k的值。其中b,p,k*k為長整型數。
輸入輸出格式
輸入格式:
三個整數b,p,k.
輸出格式:
輸出“b^p mod k=s”
s為運算結果
輸入輸出樣例
輸入樣例#1:
2 10 9
輸出樣例#1:
輸入b,p,k的值,求b^p mod k的值。其中b,p,k*k為長整型數。
輸入輸出格式
輸入格式:
三個整數b,p,k.
輸出格式:
輸出“b^p mod k=s”
s為運算結果
輸入輸出樣例
輸入樣例#1:
2 10 9
輸出樣例#1:
2^10 mod 9=7
#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> using namespace std; long long mod; long long fast(long long a,long long b) { int ans=1; while(b) { if(b&1) ans=(ans*a)%mod; a=(a*a)%mod; b>>=1; } return ans; } int main() { // freopen("in.in","r",stdin); // freopen("my.out","w",stdout); long long a,b; scanf("%lld%lld%lld",&a,&b,&mod); printf("%lld^%lld mod %lld=%lld",a,b,mod,(fast(a,b)%mod)); return 0; }