洛谷1226快速幂模板
生活随笔
收集整理的這篇文章主要介紹了
洛谷1226快速幂模板
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目描述
輸入b,p,k的值,求b^p mod k的值。其中b,p,k*k為長整型數(shù)。
輸入輸出格式
輸入格式:
?
三個整數(shù)b,p,k.
?
輸出格式:
?
輸出“b^p mod k=s”
s為運算結(jié)果
?
輸入輸出樣例
輸入樣例#1:?復(fù)制 2 10 9 輸出樣例#1:?復(fù)制 2^10 mod 9=7*****11的二進(jìn)制是1011,11 = 23×1 + 22×0 + 21×1 + 2o×1,因此,我們將a11轉(zhuǎn)化為算 a^(2^0)*a^(2^1)*a^(2^3)?
1 #include<cstdio> 2 #include<cstring> 3 #include<cmath> 4 #include<algorithm> 5 using namespace std; 6 long long int b,p,k,i,j,ans = 1,ob,op; 7 int main() 8 { 9 scanf("%lld %lld %lld",&b,&p,&k); 10 ob = b; 11 op = p; 12 if(p == 0) 13 { 14 ans = ans % k; 15 } 16 while(p != 0) 17 { 18 if(p & 1 == 1) 19 { 20 ans = ans * b; 21 ans = ans % k; 22 } 23 b = b * b; 24 b = b % k; 25 p >>= 1; 26 } 27 ans = ans % k; 28 printf("%lld^%lld mod %lld=%lld",ob,op,k,ans); 29 return 0; 30 }
?
轉(zhuǎn)載于:https://www.cnblogs.com/rax-/p/9891371.html
總結(jié)
以上是生活随笔為你收集整理的洛谷1226快速幂模板的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java安全管理器――SecurityM
- 下一篇: K-means算法应用:压缩图片