求欧拉函数的时间复杂度
  • 板块学术版
  • 楼主HappyGo
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/11/17 22:12
  • 上次更新2023/10/27 02:35:31
查看原帖
求欧拉函数的时间复杂度
882041
HappyGo楼主2022/11/17 22:12
int obt_phi(int m){
	LL res=m;
	for(LL i=2; i*i<=m; i++){
		if(m%i==0){
			res=res*(i-1)/i;
			while(m%i==0) m/=i;
		}
	}
	if(m>1) res=res*(m-1)/m;
	return res;
}

时间复杂度 O(mlogm)O(\sqrt{m}\log m)

2022/11/17 22:12
加载中...