0
已解决
#include<iostream>
#include<cstdio>
using namespace std;
int b,p,k,a;
int f(int p)
{
if(p==0) return 1;
int tmp=f(p/2)%k;
tmp=(tmp*tmp)%k;
if(p%2==1)tmp=(tmp*(b%k))%k;
return tmp;
}
int main()
{
cin>>b>>p>>k;
int tmpb=b;
b%=k;
printf("%d^%d mod %d=%d/n",tmpb,p,k,f,(p));
return 0;
}
求大神指点,哪里错了???
下划线这里,求b^p,不能直接^吧
我建议你的p改为bool。