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