数学|数学题---与n互质数字之和

【数学|数学题---与n互质数字之和】给出一个n,求1…n中与n互质的数的和
公式为
r e s = n ? p h i ( n ) / 2 res = n*phi(n)/2 res=n?phi(n)/2
phi为欧拉函数

#include #include #include #include #include using namespace std; #define int long long const int mod = 1000000007; int qmi(int a,int b){int res=1; while(b){if(b&1)res=res*a%mod; a=a*a%mod; b>>=1; }return res%mod; } int phi(int x){ int res=x; for(int i=2; i<=x/i; i++){ if(x%i==0){ res=res/i*(i-1); while(x%i==0)x/=i; } } if(x>1)res=res/x*(x-1); return res%mod; }int Mod(int x) { return ((x%mod)+mod)%mod; }signed main() { int n; while(cin>>n) { int s=Mod(Mod(n)*Mod(n+1)); s=Mod(s*qmi(2,mod-2)); int t=Mod(Mod(n)*Mod(phi(n))); t=Mod(t*qmi(2,mod-2)); cout<

    推荐阅读