首页 > 代码库 > 素数判定
素数判定
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 0
Sample Output
OK
1 #include <stdio.h> 2 #include <string.h> 3 #include <math.h> 4 #define N 3000 5 6 int main(){ 7 char flag[N]; 8 int i; 9 int j;10 int a;11 int b;12 int mark;13 int temp;14 15 memset(flag,‘0‘,N);16 flag[0]=‘1‘;17 flag[1]=‘1‘;18 19 for(i=2;i<=sqrt(N);i++){20 if(flag[i]==‘0‘){21 for(j=i*i;j<N;j+=i)22 flag[j]=‘1‘;23 }24 }25 26 while(1){27 mark=0;28 scanf("%d%d",&a,&b);29 30 if(a==0 && b==0)31 break;32 33 for(i=a;i<=b;i++){34 if(flag[i*i+i+41]!=‘0‘)35 mark=1;36 }37 38 if(mark==1)39 printf("Sorry\n");40 41 else42 printf("OK\n");43 44 }45 46 return 0;47 }
素数判定
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。