您的位置:首页 > 其它

杭电ACM--2012素数判定

2012-04-04 15:32 218 查看

素数判定

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 37390 Accepted Submission(s): 12820


[align=left]Problem Description[/align]
对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y<=50),判定该表达式的值是否都为素数。

[align=left]Input[/align]
输入数据有多组,每组占一行,由两个整数x,y组成,当x=0,y=0时,表示输入结束,该行不做处理。

[align=left]Output[/align]
对于每个给定范围内的取值,如果表达式的值都为素数,则输出"OK",否则请输出“Sorry”,每组输出占一行。

[align=left]Sample Input[/align]

0 1
0 0

[align=left] [/align]
[align=left]Sample Output[/align]

OK

import java.util.Scanner;
public class Main{
public static boolean Prime(int n){
boolean flag = true;
for(int i=2;i<=Math.sqrt(n);i++)
if(n%i==0){
flag = false;
break;
}
return flag;
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int x,y = 0;
String str;
while(true){
x = scan.nextInt();
y = scan.nextInt();
if(x==0&&y==0)
break;
else{
str = "OK";
for(int i=x;i<=y;i++){
if(!Prime(i*i+i+41)){
str = "Sorry";
break;
}
}
}
System.out.println(str);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: