标签:hdu const int long vis 素数 include 2012
Problem Description
对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y<=50),判定该表达式的值是否都为素数。Input
输入数据有多组,每组占一行,由两个整数x,y组成,当x=0,y=0时,表示输入结束,该行不做处理。Output
对于每个给定范围内的取值,如果表达式的值都为素数,则输出"OK",否则请输出“Sorry”,每组输出占一行。Sample Input
0 1 0 0Sample Output
OK 解:这是一个开口向上的2次函数,区间内最大值为2591.#include <algorithm> #include <iostream> #include <cstring> #include <cstdio> #include <vector> #include <cmath> #include <queue> #include <deque> #include <cmath> #include <map> using namespace std; typedef long long ll; const double inf=1e20; const int maxn=3000;//>2591 const int mod=1e9+7; int vis[maxn]; int main(){ int n=2900; int m=sqrt(n+0.5); memset(vis,0,sizeof(vis)); for(int i=2;i<=m;i++)if(!vis[i]) for(int j=i*i;j<=n;j+=i)vis[j]=1; int x,y; while(scanf("%d%d",&x,&y)!=EOF){ if(x==y&&x==0)break; int o=1; for(int i=x;i<=y;i++){ if(vis[i*i+i+41]){ o=0; break; } } if(o)printf("OK\n"); else printf("Sorry\n"); } return 0; }
标签:hdu,const,int,long,vis,素数,include,2012 来源: https://www.cnblogs.com/wz-archer/p/12448126.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。