#include <iostream>
using namespace std;
int n;
int ans;
int main()
{
cin >> n;
int last = ans = n;
for(int i = 2; i * i <= n; i++)
{
if(last % i == 0)
{
while(last % i == 0) last /= i;
ans /= i;
ans *= (i - 1);
// ans *= (i - 1) / i
// ans *= 1 - 1 / i
}
}
if(last > 1) // 还有一个质数因子
{
ans /= last;
ans *= (last - 1);
}
cout << ans;
return 0;
}
【模板】欧拉函数
猜你喜欢
转载自blog.csdn.net/kcn999/article/details/83045823
今日推荐
周排行