就是求有多少组(x,y) 二元组 x ,y 互质
先x 《 y 再 y 《 x 0.0
phi(1-n)0.0
:
#include<iostream>
using namespace std;
typedef long long LL;
const int maxn = 50000 + 131;
LL PHI[maxn];
void Phi(int n,LL *phi) {
for(int i = 2; i <= n; ++i) phi[i] = 0;
phi[1] = 1;
for(int i = 2; i <= n; ++i) if(!phi[i])
for(int j = i; j <= n; j += i) {
if(!phi[j]) phi[j] = j;
phi[j] = phi[j] / i * (i -1);
}
}
int main() {
int n;
LL Num;
while(cin >> n && n) {
Num = 0;
Phi(n,PHI);
for(int i = 2; i <= n; ++i)
Num += PHI[i];
Num = Num * 2 +1;
cout << Num << endl;
}
return 0;
}