uva 10820
1 2 /* 交表 _________________________________________________________________________________ 3 4 #include <iostream> 5 #include <map> 6 #include <cmath> 7 #include <vector> 8 #include <cstdio> 9 #include <string> 10 #include <cstring> 11 #include <algorithm> 12 using namespace std; 13 #define fir first 14 #define sec second 15 #define pb(x) push_back(x) 16 #define mem(A, X) memset(A, X, sizeof A) 17 #define REP(i,l,u) for(int (i)=(int)(l);(i)<=(int)(u);++(i)) 18 #define rep(i,l,u) for(int (i)=(int)(l);(i)>=(int)(u);--(i)) 19 #define foreach(e,x) for(__typeof(x.begin()) e=x.begin();e!=x.end();++e) 20 typedef long long LL; 21 typedef unsigned long long ull; 22 typedef pair<long,long> pll; 23 24 25 LL T,n; 26 const int mod=1e9+7; 27 const int maxn=1e5+10; 28 29 const int size=50000;//1-10000的表 30 int phi[size+1]; 31 void phi_table() // 1 到 n 的欧拉phi函数值表 ( O( nlg(lgn) ) ) 32 { 33 for(int i=2;i<=size;i++) 34 { 35 phi[i]=0; 36 } 37 phi[1]=1; 38 for(int i=2;i<=size;i++) 39 { 40 if(!phi[i]) 41 { 42 for(int j=i;j<=size;j+=i) 43 { 44 if(!phi[j]) phi[j]=j; 45 phi[j] = phi[j]/i*(i-1); 46 } 47 } 48 } 49 } 50 51 int main() 52 { 53 freopen("in.txt","r",stdin); 54 phi_table(); 55 while(cin>>n&&n) 56 //while(cin>>T) 57 { 58 //REP(kase,1,T) { } 59 LL ans=1; 60 REP(i,2,n) 61 ans+=2*phi[i]; 62 cout<<ans<<endl; 63 64 } 65 return 0; 66 } 67 68 /* 69 note : 70 debug : 71 optimize: 72 */