首页 > 其他分享 >根号(n)求单个数欧拉函数

根号(n)求单个数欧拉函数

时间:2023-08-13 19:13:59浏览次数:39  
标签:函数 ll 单个 long 根号 ans 欧拉

#define ll long long
ll ola(ll n)	//求正整数n的欧拉函数(类似常规的素数判定)
{
	ll ans=n;
	for(ll i=2;i*i<=n;i++)	//因为和因子有关,所以只需根号n内
	{
		if(n%i==0)	//找到一个因子i
		{
			ans=ans*(i-1)/i;	//减去因子i相关的数
			while(n%i==0) n/=i;	//去除所有的因子i 
		}
	}
	if(n>1) ans=ans*(n-1)/n;	//比如原始n=10,最后一个因子5
	return ans;
}

标签:函数,ll,单个,long,根号,ans,欧拉
From: https://www.cnblogs.com/MooSheng/p/17626999.html

相关文章