洛谷——P1226 取余运算||快速幂
生活随笔
收集整理的這篇文章主要介紹了
洛谷——P1226 取余运算||快速幂
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
P1226 取余運算||快速冪
題目描述
輸入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<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define LL long long using namespace std; LL a,b,p,ans; LL read() {LL x=0,f=1; char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar();return x*f; } LL multi(LL a,LL b,LL p) {LL aa=0;while(b){if(b&1) aa=(aa+a)%p;a=a*2%p,b>>=1;}return aa; } LL qpow(LL a,LL b,LL p) {LL res=1;while(b){if(b&1) res=multi(res,a,p);a=multi(a,a,p),b>>=1;}return res; } int main() {a=read(),b=read(),p=read();ans=qpow(a,b,p);printf("%lld^%lld mod %lld=%lld",a,b,p,ans);return 0; }
?
轉載于:https://www.cnblogs.com/z360/p/7860595.html
總結
以上是生活随笔為你收集整理的洛谷——P1226 取余运算||快速幂的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大家都较熟悉之 Kubernetes A
- 下一篇: flask开发问题小记