取余运算||快速幂(洛谷-P1226)
生活随笔
收集整理的這篇文章主要介紹了
取余运算||快速幂(洛谷-P1226)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目描述
輸入b,p,k的值,求b^p mod k的值。其中b,p,k*k為長(zhǎng)整型數(shù)。
輸入輸出格式
輸入格式:
三個(gè)整數(shù)b,p,k.
輸出格式:
輸出“b^p mod k=s”
s為運(yùn)算結(jié)果
輸入輸出樣例
輸入樣例#1:
2 10 9
輸出樣例#1:
2^10 mod 9=7
源代碼
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<string> #include<cstdlib> #include<queue> #include<set> #include<map> #include<stack> #include<vector> #define INF 0x3f3f3f3f #define PI acos(-1.0) #define N 11 #define MOD 123 #define E 1e-6 using namespace std; typedef long long ll; ll pow(ll x,ll y,ll z)//位運(yùn)算求快速冪 {ll sum=1;while(y){if(y&1)sum=sum*x%z;x=x*x%z;y>>=1;}return sum; } int main() {ll b,p,k;ll s;cin>>b>>p>>k;if(p==0)//次數(shù)為0時(shí)的特判s=0;elses=pow(b,p,k);//求快速冪printf("%lld^%lld mod %lld=%lld\n",b,p,k,s);return 0; }?
總結(jié)
以上是生活随笔為你收集整理的取余运算||快速幂(洛谷-P1226)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 动态规划 —— 数位 DP
- 下一篇: 判断整除(信息学奥赛一本通-T1195)