标签:
《2》
1 //线性筛法求解极性函数(欧拉函数) 2 memset(check, false, sizeof(check)); 3 fai[1] = 1; 4 int tot = 0; 5 for(int i=2; i<=N; i++) 6 { 7 if(!check[i]) 8 { 9 prime[tot++] = i; 10 fai[i] = i-1; 11 } 12 for(int j=0; j<tot; j++) 13 { 14 if(i*prime[j]>N) break; 15 check[i*peime[j]] = true; 16 if(i%prime[j]==0) 17 { 18 fai[i*prime[j]] = fai[i]*prime[j]; 19 break; 20 } 21 else 22 { 23 fai[i*prime[j]] = fai[i]*(prime[j]-1); 24 } 25 } 26 }
标签:
原文地址:http://www.cnblogs.com/acm1314/p/4518500.html