标签:ace col 西安 continue printf make long mem bool
sb找规律。 分解因数。
1 #include<bits/stdc++.h> 2 #define LL long long 3 #define fi first 4 #define se second 5 #define mk make_pair 6 using namespace std; 7 8 const int N=1e6+7; 9 const int M=100+7; 10 const int inf=0x3f3f3f3f; 11 const LL INF=0x3f3f3f3f3f3f3f3f; 12 const int mod=1e9 + 9; 13 14 int f[N]; 15 bool prime[N]; 16 17 void init() { 18 memset(prime, true, sizeof(prime)); 19 prime[0] = prime[1] = false; 20 f[1] = 0; 21 for(int i = 2; i < N; i++) { 22 if(!prime[i]) { 23 continue; 24 } else { 25 f[i] = i - 1; 26 for(int j = i + i; j < N; j += i) { 27 prime[j] = false; 28 int now = j; 29 while(now % i == 0) { 30 f[j] += f[i]; 31 now /= i; 32 } 33 } 34 } 35 } 36 } 37 38 int main() { 39 init(); 40 int T; scanf("%d", &T); 41 while(T--) { 42 int n; scanf("%d", &n); 43 printf("%d\n", f[n]); 44 } 45 return 0; 46 } 47 /*************** 48 ****************/
西安电子科技大学第16届程序设计竞赛网络同步赛 G-小国的复仇
标签:ace col 西安 continue printf make long mem bool
原文地址:https://www.cnblogs.com/CJLHY/p/8921145.html