欧拉函数:
#include <iostream>
using namespace std;
int eular(int n) {
int ret = 1, i;
for (i = 2; i * i <= n; i++)
{
if (!(n % i)) {
n /= i;
ret *= i - 1;
while (!(n % i))
n /= i, ret *= i;
}
}
if(n > 1)
ret *= n - 1;
return ret;
}
int main()
{
int n=30;
int k;
k=eular(n);
cout<<k<<endl;
return 0;
}
本文介绍了一种通过质因数分解来高效计算欧拉函数φ(n)的方法,并提供了一个C++实现示例。该方法利用了质因数的性质,避免了不必要的计算,从而大大提高了计算效率。

被折叠的 条评论
为什么被折叠?



