答案为n−φ(n)n−φ(n)
//tc is healthy, just do it
#include <bits/stdc++.h>
using namespace std;
template<class T> void checkmin(T &a,const T &b) { if (b<a) a=b; }
template<class T> void checkmax(T &a,const T &b) { if (b>a) a=b; }
class MyVeryLongCake {
public:
int cut( int n ) ;
};
int MyVeryLongCake::cut(int n) {
int ans=n,i,n0=n;
for(i=2;i*i<=n;i++)
if (n%i==0){
ans=ans/i*(i-1);
while(n%i==0) n/=i;
}
if (n>1) ans=ans/n*(n-1);
return n0-ans;
}
计算欧拉函数的C++实现

本文介绍了一种使用C++实现计算欧拉函数φ(n)的方法,通过质因数分解来高效求解,展示了如何从n中减去与n互质的数的数量,即n-φ(n),并提供了一个名为MyVeryLongCake的类,其中包含了一个名为cut的成员函数,用于计算给定整数n的欧拉函数。
533

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



