72分,TLE了后面两个
查看原帖
72分,TLE了后面两个
1732635
M28_florr楼主2025/7/24 10:28

谁来看看我的代码怎么改一下 蒟蒻不会快速幂 用欧拉函数写的 dalao们来看看还能怎么加速一下

#include<bits/stdc++.h>
#define Genshin using
#define Impact namespace 
Genshin Impact std;
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 main(){
	long long M2B,florr,manfred,Barbatos=1;
	cin>>M2B>>florr>>manfred;
	cout<<M2B<<"^"<<florr<<" mod "<<manfred<<"=";
	M2B=M2B%manfred;
	florr=florr%Venti(manfred);
	for(int i=0;i<florr;i++){
		Barbatos*=M2B;
		Barbatos%=manfred;
	}
	cout<<Barbatos;
	return 0;
}
2025/7/24 10:28
加载中...