我是靠谱客的博主 机智小伙,最近开发中收集的这篇文章主要介绍杭电acm素数判定——C语言解析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

素数判定

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

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

#include<stdio.h>
//素数判定
int main(void){
int i,n,m,t,r;
while(scanf("%d %d",&n,&m)!=EOF){
if(n==0&&m==0)
break;
if(n>=-39&&n<m&&m<=50){
for(i=n;i<m;i++){
//范围内的素数判定
t=i*i+i+41;
for(int j=2;j<=t/2;j++){
if(t%j!=0)
if(j==t/2)
r=1;
if(t%j==0){
r=0;
break;
}
}
if(r==0){
printf("Sorryn");
break;
}
}
if(r==1)
printf("OKn");
}
}
}

这道题的核心是素数判定,根据表达式得出范围内的数,然后逐个进行素数判定,这题就基本解决了。

最后

以上就是机智小伙为你收集整理的杭电acm素数判定——C语言解析的全部内容,希望文章能够帮你解决杭电acm素数判定——C语言解析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部