0
已解决
熊潇然
初级启示者
初级启示者
题目链接: 酷町堂:3343
3343 快速幂
经验值:1200 时间限制:1000毫秒 内存限制:128MB
题目描述 Deion
输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整型数。
输入描述 Input Deion
三个整数b,p,k。
输出描述 Output Deion
输出“b^p mod k=s”
s为运算结果
样例输入 Sample Input
2 10 9
样例输出 Sample Output
2^10 mod 9=7
WA 10分:
#include<bits/stdc++.h>
using namespace std;
long long b,p,k;
long long f(long long a,long long b){
if(b==0) return 1;
long long t=1;
while(b){
if(b&1) t*=a;
b>>=1;
a*=a;
}
return t;
}
int main(){
cin>>b>>p>>k;
printf("%d^%d mod %d=%d",b,p,k,f(b,p)%k);
return 0;
}
求大佬指点