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

Posted youpeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LightOJ 1370] Bi-shoe and Phi-shoe(欧拉函数快速筛法)相关的知识,希望对你有一定的参考价值。

题目链接: 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
",flag++,sum);
44     }
45     return 0;
46 }

 

以上是关于[LightOJ 1370] Bi-shoe and Phi-shoe(欧拉函数快速筛法)的主要内容,如果未能解决你的问题,请参考以下文章

LightOJ - 1370 Bi-shoe and Phi-shoe(欧拉函数)

LightOJ - 1370 Bi-shoe and Phi-shoe

LightOJ - 1370 Bi-shoe and Phi-shoe 欧拉函数 题解

Lightoj1370 Bi-shoe and Phi-shoe

LightOJ 1370 Bi-shoe and Phi-shoe(欧拉函数)

LightOJ1370 Bi-shoe and Phi-shoe 欧拉函数