zoukankan      html  css  js  c++  java
  • 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                                                                               */ 
  • 相关阅读:
    Linux内核TSS的使用
    DPL, CPL及RPL之间的关系
    Linux内存管理(深入理解Linux内核)
    Windows下安装PIL进行图像处理
    内存Zone中的pageset成员分析
    导出符号的意义
    GDI及Windows的消息机制
    kmalloc vs vmalloc
    Linux Kernel Development有关内存管理
    STL sort
  • 原文地址:https://www.cnblogs.com/paulzjt/p/6052687.html
Copyright © 2011-2022 走看看