关闭

第十周练习 1003 素数判定

182人阅读 评论(0) 收藏 举报
分类:

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


折腾半天终于过了……
因为break只能断掉里面那个for然后……然后就循环好多次然后就WA qwq
这回算是印象深刻的记住了break怎么用……
最后……这道题并没用(我也没看)素数打表_(:з」∠)_

#include<stdio.h>
int main()
{
	int x,y,z,i,j,k;
	int a,num[199];
	while(scanf("%d%d",&x,&y)&&x!=0||y!=0)
	{
		z=y-x+1;
		a=x;
		for(i=1;i<=z;i++)
		{
			num[i]=a*a+a+41;
			a++;
		}
		int t=0;
		for(j=1;j<i;j++)
		{
			for(k=2;k<num[j];k++)
			{
				if(num[j]%k==0)
				{
					t++;
					break;
				}
			}
		}
		if(t==0)
		{
			printf("OK\n");
		}
		else
		{
			printf("Sorry\n");
		}
	}
	return 0;
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:34593次
    • 积分:2681
    • 等级:
    • 排名:第13458名
    • 原创:247篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条