我不知道怎么用快速幂做 蒟蒻只会欧拉函数 但是这个欧拉函数也有问题 谁能帮我改一下啊
#include<bits/stdc++.h>
#define Genshin using
#define Impact namespace
Genshin Impact std;
//I love Venti.
//I am Venti's dog.
//Venti,marry me.
int Venti(int Barbatos){
int M28=Barbatos;
for(int manfred=2;manfred*manfred<=Barbatos;++manfred){
if(Barbatos%manfred==0){
while(Barbatos%manfred==0) Barbatos/=manfred;
M28-=M28/manfred;
}
}
if (Barbatos>1) M28-=M28/Barbatos;
return M28;
}
int venti(int Barbatos,int manfred){
int M2B=1;
for(int i=1;;i++){
M2B*=Barbatos;
M2B%=manfred;
if(M2B==1){
return i;
}
}
}
int main(){
long long M2B,florr,manfred,Barbatos=1;
cin>>M2B>>florr>>manfred;
cout<<M2B<<"^"<<florr<<" mod "<<manfred<<"=";
M2B=M2B%manfred;
int monstant=std::lcm(venti(M2B,manfred),Venti(manfred));
florr=florr%monstant;
for(int i=0;i<florr;i++){
Barbatos*=M2B;
Barbatos%=manfred;
}
cout<<Barbatos;
return 0;
}