这个怎么改啊!
查看原帖
这个怎么改啊!
1732635
M28_florr楼主2025/7/24 11:23

我不知道怎么用快速幂做 蒟蒻只会欧拉函数 但是这个欧拉函数也有问题 谁能帮我改一下啊

#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;
}
2025/7/24 11:23
加载中...