Bi-shoe and Phi-shoe (数论(欧拉函数))
2017-05-05 11:00
351 查看
题目来源:https://vjudge.net/problem/LightOJ-1370
【题意】
给出一行数,求对应的数的欧拉函数值大于给出的数的数的最小和。
【思路】
因为一些数的欧拉函数值相同,所以题面才会要求求最小和,进而根据欧拉函数的一个性质,φ(n)=n-1,前提是n是素数。假设现在题面给出了一个数x,那么如果x+1是素数,那么最小的值就是x+1,如果不是素数,那就往后找一个最近的素数,依照这个思路,先打一个素数表,可以用埃氏筛法,也可以是线性筛法(利用欧拉函数求得)。
【代码】
【题意】
给出一行数,求对应的数的欧拉函数值大于给出的数的数的最小和。
【思路】
因为一些数的欧拉函数值相同,所以题面才会要求求最小和,进而根据欧拉函数的一个性质,φ(n)=n-1,前提是n是素数。假设现在题面给出了一个数x,那么如果x+1是素数,那么最小的值就是x+1,如果不是素数,那就往后找一个最近的素数,依照这个思路,先打一个素数表,可以用埃氏筛法,也可以是线性筛法(利用欧拉函数求得)。
【代码】
#include<map> #include<stack> #include<queue> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<iostream> #include<string> #define mem(a,b) memset(a,b,sizeof(a)) using namespace std; const int INF=1e9; typedef long long LL; int euler[1001000]; void Is_prime() { mem(euler,0); euler[1]=1; for(int i=2;i<=1000;i++) { if(!euler[i]) d6d0 { for(int j=2*i;j<1000000+100;j+=i) { euler[j]=1; } } } } int main() { int T,t=0; scanf("%d",&T); Is_prime(); while(T--) { int n; scanf("%d",&n); LL ans=0; for(int i=0;i<n;i++) { int x; scanf("%d",&x); for(int j=x+1;;j++) { if(!euler[j]) { ans+=j; break; } } } printf("Case %d: %lld Xukha\n",++t,ans); } }
相关文章推荐
- 1370 - Bi-shoe and Phi-shoe(LightOJ1370)(数论基础,欧拉函数)
- 数论-欧拉函数-Bi-shoe and Phi-shoe LightOJ - 1370
- lightoj 1370 Bi-shoe and Phi-shoe 【欧拉函数应用】
- LightOJ - 1370 - Bi-shoe and Phi-shoe【欧拉函数预处理】
- 【数论】Bi-shoe and Phi-shoe
- LightOJ 1370 - Bi-shoe and Phi-shoe (欧拉函数思想)
- Bi-shoe and Phi-shoe 线筛欧拉函数
- LightOJ - 1370 Bi-shoe and Phi-shoe【欧拉函数的性质】
- LightOJ 1370 Bi-shoe and Phi-shoe【欧拉函数 && 质数】
- 【Ligth-oj】-1370 - Bi-shoe and Phi-shoe(欧拉函数+素数打表)
- LightOJ 1370 Bi-shoe and Phi-shoe【欧拉函数 && 质数】
- LightOJ1370 - Bi-shoe and Phi-shoe(欧拉函数+打表)
- Bi-shoe and Phi-shoe [欧拉函数][贪心]
- LOJ 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(欧拉函数)
- LightOJ 1370 Bi-shoe and Phi-shoe(欧拉函数+打表)
- LightOJ 1370 Bi-shoe and Phi-shoe(欧拉函数)
- Light oj 1307 - Bi-shoe and Phi-shoe【欧拉函数】