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

[LightOJ 1370] Bi-shoe and Phi-shoe(欧拉函数快速筛法)

时间:2019-01-14 23:05:33      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:return   ring   打表   筛法   bre   https   知识点   等于   数字   

题目链接: https://vjudge.net/problem/LightOJ-1370

题目描述:

给出一些数字,对于每个数字找到一个欧拉函数值大于等于这个数的数,求找到的所有数的最小和。

知识点:

欧拉函数:https://baike.baidu.com/item/%E6%AC%A7%E6%8B%89%E5%87%BD%E6%95%B0/1944850?fr=aladdin

 1 /*
 2  * x的欧拉函数值:小于x且与x互质的数的个数
 3  * 性质:素数p的欧拉函数值为p-1;
 4  */
 5 #include<cstdio>
 6 #include <cstring>
 7 
 8 using namespace std;
 9 
10 const int N = 1e6 + 5;
11 bool prime[N] = {1,1,0};
12 
13 //素数打表
14 //用被判断的数做下标,直接判断一个数是不是素数.
15 void bool_prime()
16 {
17     for(int i=2;i<N;i++)
18         if(!prime[i])
19         {
20             for(int j=i+i;j<=N;j+=i)
21                 prime[j] = 1;
22         }
23 }
24 
25 int main() {
26     int T,n,x,flag = 1;
27     long long sum;
28     bool_prime();
29     for(scanf("%d",&T);T>0;T--)
30     {
31         scanf("%d",&n);
32         sum = 0;
33         while(n--)
34         {
35             scanf("%d",&x);
36             for(int i=x+1;;i++)
37                 if(!prime[i])
38                 {
39                     sum += i;
40                     break;
41                 }
42         }
43         printf("Case %d: %lld Xukha\n",flag++,sum);
44     }
45     return 0;
46 }

 

[LightOJ 1370] Bi-shoe and Phi-shoe(欧拉函数快速筛法)

标签:return   ring   打表   筛法   bre   https   知识点   等于   数字   

原文地址:https://www.cnblogs.com/youpeng/p/10269296.html

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