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
AC代码:
Online Judge Online Exercise Online Teaching Online Contests Exercise Author
F.A.Q
Hand In Hand
Online Acmers
Forum | Discuss
Statistical Charts
Problem Archive
Realtime Judge Status
Authors Ranklist
Search
C/C++/Java Exams
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
Virtual Contests
DIY | Web-DIY beta
Recent Contests
Author Sunhz1998
Mail Mail 0(0)
Control Panel Control Panel
Sign Out Sign Out
View Code
Problem : 2012 ( 素数判定 ) Judge Status : Accepted
RunId : 24412889 Language : C++ Author : Sunhz1998
Code Render Status : Rendered By HDOJ C++ Code Render Version 0.01 Beta
//
// main.cpp
// 2012
//
// Created by showlo on 2018/4/13.
// Copyright © 2018年 showlo. All rights reserved.
//
#include <stdio.h>
int isprime(int n){
int i;
if (n==1||n==0) {
return 0;
}
if (n==2) {
return 1;
}
for (i=2; i<n; i++) {
if (n%i==0) {
return 0;
}
}
return 1;
}
int main() {
int x,y,flag;
//int n=40;
//printf("%d\n",isprime(n*n+n+41));
while (scanf("%d %d",&x,&y)!=EOF&&(x||y)) {
flag=0;
for (int i=x; i<=y; i++) {
if (isprime(i*i+i+41)!=1) {
flag=1;
printf("Sorry\n");
break;
}
}
if(flag==0)
printf("OK\n");
}
return 0;
}