洛谷 P1226 取余運算||快速冪 題解
阿新 • • 發佈:2017-08-10
代碼 amp base iostream div 其中 tro std strong
此文為博主原創題解,轉載時請通知博主,並把原文鏈接放在正文醒目位置。
題目鏈接:https://www.luogu.org/problem/show?pid=1226
題目描述
輸入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
快速冪模板。
AC代碼:
1 #include<iostream> 2#include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 int a,b,mod; 6 int pow(int a,int b) 7 { 8 int ans = 1,base = a%mod; 9 for(;b;b >>= 1) 10 { 11 if(b&1) ans = ans*base%mod; 12 base = base*base%mod; 13 } 14 returnans; 15 } 16 17 int main() 18 { 19 scanf("%d%d%d",&a,&b,&mod); 20 printf("%d^%d mod %d=%d\n",a,b,mod,pow(a,b)); 21 return 0; 22 }
洛谷 P1226 取余運算||快速冪 題解