UVA 10820 交表
#include<iostream> #include<string> #include<string> #include<string.h> #include<stdio.h> #include<queue> #include<math.h> #include<vector> #include<stdlib.h> #define maxn 50000 #include<algorithm> using namespace std; int phi[maxn]; void phi_table(int n){ 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; while(cin>>n){ if(n==0) break; phi_table(n); int sum=0; for(int i=2;i<=n;i++){ sum+=phi[i]; } sum=sum*2+1; cout<<sum<<endl; } return 0; }