1 #include<stdio.h>
2 #include<string.h>
3 #define N 50010
4 int phi[N],n,sum[N];
5 void phi_table()
6 {
7 int i,j;
8 memset(phi,0,sizeof(phi));
9 phi[1]=1;
10 for(i=2;i<=N;i++)
11 if(!phi[i])
12 for(j=i;j<=N;j+=i) /*筛法求欧拉函数值*/
13 {
14 if(!phi[j])
15 phi[j]=j;
16 phi[j]=phi[j]/i*(i-1);
17 /*phi[j]保存不超过j且与j互质的正整数的个数*/
18 }
19 sum[0]=0;
20 for(i=1;i<=50000;i++)
21 sum[i]=sum[i-1]+phi[i];
22 }
23
24 int main()
25 {
26 phi_table();
27 int i;
28 while(~scanf("%d",&n)&&n)
29 {
30 printf("%d\n",2*sum[n]-1);
31 }
32 return 0;
33 }
34 /*转化为有多少对时,2与1互质,但是(2,1)和(1,2)算2对,
35 所以应该乘以2,但是(1,1)被算了两次,所以减去一次*/