码迷,mamicode.com
首页 > 其他好文 > 详细

西安电子科技大学第16届程序设计竞赛网络同步赛 G-小国的复仇

时间:2018-04-23 19:53:17      阅读:160      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!