素数判定
2016-07-22 08:51
393 查看
素数判定
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d
& %I64u
Submit Status
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
Sample Output
将所有所求范围内的素数进行打表如果不是素数让他等于1如果是让他等于0
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d
& %I64u
Submit Status
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 0
Sample Output
OK
将所有所求范围内的素数进行打表如果不是素数让他等于1如果是让他等于0
#include<cstdio> int a[3000]={1,1,0};//素数表的初始化 int main(){ int x,y; for(int i=2;i<3000;i++){//进行素数打表 if(a[i]) continue ;//如果这个数已经被筛选过就不需要他的倍数肯定一被筛选过 for(int j=2*i;j<3000;j+=i){//如果一个素数他的倍数一定是素数 a[j]=1; } } while(~scanf("%d%d",&x,&y)){ if(x==0&&y==0) break ; int t=1; for(int i=x;i<=y;i++){ if(a[i*i+41+i]) t=0; }//查找判断是否为素数 if(t) printf("OK\n"); else printf("Sorry\n"); } return 0; }
相关文章推荐
- 11个炫酷的Linux终端命令大全
- JS结合bootstrap实现基本的增删改查功能
- 重新编译scss/ionic.app.scss
- 在Windows平台上绿色安装postgresQL
- JavaScript学习笔记二十七:Promise
- 国内一线互联网公司内部面试题库
- Android中判断网络连接是否可用及监控网络状态
- React Native
- Swift 面向对象解析(二)
- HDU 5733 tetrahedron
- 【Codeforces】-611A-New Year and Days(水)
- [Cloud Computing]Mechanisms: Resource Replication
- 610APasha and Stick
- SDUT2116数据结构实验之链表一:顺序建立链表
- 16.3 表格里显示自定义控件
- Real-Time SQL Monitoring
- NOIP2016#模拟考试 Day.1# T3 导航软件
- Ibaitis Caused by: com.ibatis.common.beans.ProbeException: Error getting ordinal list from JavaBean.
- 二分查找——Search Insert Position
- notepad++ 左面显示文件夹结构