杭电2012-素数判定(C)

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

思路分析:

首先,输入x、y是一个范围,也就是【x,y】之间,已知题意,它有一个表达式n=n2+n+41,这里的n属于【x,y】范围内。
第一步,需要将通过表达式计算之后的n给求出来,判断其是否是素数。(本人编写一个自定义函数来进行判断n是否是素数,若是素数返回0,不是返回1)
第二步,对最后的结果进行分类总结即可

代码如下:

#include<stdio.h>
#include<math.h>
int is(int n);int main(){int sum,i,j,k,n;int x,y;while(scanf("%d %d",&x,&y)!=EOF){if(x==0&&y==0)break;//输入0 0 表示结束for(i=x;i<=y;i++){n=i*i+i+41;if(is(n))break;//如果返回的是1,代表不是素数}if(i>y)printf("OK\n");//再进行判断,若i>y表示是循环完整结束,即为素数else printf("Sorry\n");//循环不正当结束,表示之间有不是素数的数存在}return 0;}int is(int n){//自定义判断是否是素数的函数,若是素数返回0,否则返回1int i;if(n%2==0)return 1;//偶数都不是素数,返回1int x = sqrt(n);//这里是为了减少运算量for(i=3;i<=x;i+=2){//这里的i=i+2,是因为偶数都不是素数,不需要判断了,第一个if里面已经筛选过了if(n%i==0)break;//存在有其他数可以被它整除,即不是素数,结束循环,即该数不是素数}return i > x ? 0 : 1;//当循环结束之后,存在两种情况,一种是进入if中,结束循环、;另一种则是,循环完整结束;如果i>x表示循环完整结束,也就是说从3~√n之间都不可以被它整除,即它是素数,则返回0;反之返回1;

参考博客:https://blog.csdn.net/tigerisland45/article/details/51761340

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/379508.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

math.ceil带小数点_JavaScript中带有示例的Math.ceil()方法

math.ceil带小数点JavaScript | Math.ceil()方法 (JavaScript | Math.ceil() Method) Math.ceil() is a function in math library of JavaScript that is used to round up the number passed to the function. The method will return the nearest integer value indeed is g…

開發記要 詭異的變量

告別繁體文盲,從寫blog開始 Variable命名很重要,有多重要,看看.net和java的加密就知道, 都是把variable改到一塌糊塗,你想看看都沒門. 但是這幾天看遺留系統的代碼,真是大開眼界。 我一直以為別人寫a,b,c,d這些單字節variable已經很過分。直到我看到以下這幾個&#xff0…

排序算法---快速排序、堆排序、冒泡排序

排序算法1 快速排序代码实现stdlib库快排2 堆排序堆排序的基本思想如何构造一个大顶堆排序3 冒泡排序1 快速排序 文章原地址&#xff1a;https://blog.csdn.net/morewindows/article/details/6684558 快速排序的平均时间复杂度是0(NlogN)&#xff0c;它采用了一种分治的策略&a…

CSS Hack 汇总快查

*:lang(zh) select {font:12px !important;} /*FF的专用*/ select:empty {font:12px !important;} /*safari可见*/ 这里select是选择符&#xff0c;根据情况更换。第二句是MAC上safari浏览器独有的。 仅IE7识别 *html {…} 当面临需要只针对IE7做样式的时候就可以采用这个HACK…

杭电2013-蟠桃记(C++)

Problem Description 喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事&#xff0c;你们一定都觉得这猴子太闹腾了&#xff0c;其实你们是有所不知&#xff1a;悟空是在研究一个数学问题&#xff01; 什么问题&#xff1f;他研究的问题是蟠桃一共有多少个&#xff01; 不过&#…

c#中重载单目运算符-_C#程序重载二进制运算符(-,*,/)

c#中重载单目运算符-Here, we will design overloaded methods for binary operators: minus, multiply and divide. In the below program, we will create a Calculator class with data member val. 在这里&#xff0c;我们将为二进制运算符设计重载方法&#xff1a;减&…

项目总结:华南师范大学校园开发教育android客户端总结

忽略之前小打小闹&#xff0c;这个项目算是我的第一个项目--SCNU的网络公选课的android版本的客户端。项目是从5月中旬开始的&#xff0c;中间经历了几个星期的复习考试时间&#xff0c;到现在可以说是完工了吧&#xff08;或许还有写细节要修改&#xff09;。这个项目带给我蛮…

火鸟字幕合并器

火鸟字幕合并器-区块独立勾选-保存。汉王 PDF OCR转载于:https://www.cnblogs.com/hnytwn/archive/2009/10/31/1593395.html

Linux系统编程---守护进程

1 守护进程的概述 Daemon&#xff08;守护进程&#xff09;是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。它不需要用户输入就能运行而且提供某种服务&#xff0c;不是对整个系统就是对某个用户程序提供服务。Linux系统的大…

c ++明明的随机数_从列表C ++程序中随机建议电影

c 明明的随机数Problem statement: 问题陈述&#xff1a; Write an application code that will suggest movies from a list randomly and there wont be any repeat while suggesting the movies. That means the same movie wont be suggested twice though it will be don…

邮箱服务器

一&#xff0e;邮箱服务器的基本概念 邮件的客户端&#xff1a;可以只安装在电脑上&#xff08;C/S&#xff09;的也可以是网页形式&#xff08;B/S&#xff09;的 邮件服务器&#xff1a;起到邮件的接受与推送的作用 邮件发送的协议&#xff1a; 协议&#xff1a;就是数据传输…

C#提高保存jpg图像的质量

在程序中直接生成的jpg图像&#xff0c;汉字有毛边&#xff0c;经过一番搜索&#xff0c;在msdn上发现了下面控制jpg质量系数的文章&#xff0c;修改后试了一下&#xff0c;效果确实比前面强多了。原理我也不大懂&#xff0c;把代码贴出来&#xff0c;与大家共享。 联合图…

延迟和定时器管理

文章目录1 内核中时间概念2 标准定时器jiffies和HZ定时器API标准定时器案例3 高精度定时器(HRT)高精度定时器案例4 内核中延迟和睡眠原子上下文非原子上下文1 内核中时间概念 时间概念对计算机来说有些模糊&#xff0c;事实上内核必须在硬件的帮助下才能计算和管理时间。硬件为…

Web开发工具(插件)收集

1.IE Developer Toolbar 浏览和修改&#xff0c;选定Web页上的特定元素&#xff0c;查看HTML对象的类名、ID&#xff0c;以及类似链接路径、tab顺序、快捷键等。 2.HttpWatch Professional 一款强大的网页数据分析工具,可以查看当前网页的http数据 FireFox插件 FireFox下插件实…

cin、cin.get()、cin.getline()、getline()、gets()等函数的用法

转载&#xff0c;并经过本人补充cin、cin.get()、cin.getline()、getline()、gets()等函数的用法2007/10/27 22:51学C的时候&#xff0c;这几个输入函数弄的有点迷糊&#xff1b;这里做个小结&#xff0c;为了自己复习&#xff0c;也希望对后来者能有所帮助&#xff0c;如果有差…

Java StringBuilder subSequence()方法与示例

StringBuilder类subSequence()方法 (StringBuilder Class subSequence() method) subSequence() method is available in java.lang package. subSequence()方法在java.lang包中可用。 subSequence() method is used to return the new set of a character sequence that is a …

Linux设备驱动开发---设备树的概念

文章目录1 设备树机制命名约定别名、标签和phandleDT编译器2 表示和寻址设备SPI和I2C寻址平台设备寻址3 处理资源提取特定应用数据文本字符串单元格和无符号的32位整数布尔提取并分析子节点4 平台驱动程序与DTOF匹配风格处理非设备树平台平台数据与DT设备树&#xff08;DT&…

【转】C#中数组复制的4种方法

C#中数组复制的4种方法 from&#xff1a;http://blog.csdn.net/burningcpu/article/details/1434167今天旁边的同事MM叫我调了一段程序&#xff0c;她想复制一个数组&#xff0c;int[] pins {9,3,4,9};int [] alias pins;这里出了错误&#xff0c;也是错误的根源&#xff0c…

Java StringBuilder codePointAt()方法与示例

StringBuilder类codePointAt()方法 (StringBuilder Class codePointAt() method) codePointAt() method is available in java.lang package. codePointAt()方法在java.lang包中可用。 codePointAt() method is used to return the Unicode code point at the given indices an…

用户虚拟地址转化成物理地址,物理地址转换成内核虚拟地址,内核虚拟地址转换成物理地址,虚拟地址和对应页的关系

文章目录1. 用户虚拟地址转换成物理地址2. 内核虚拟地址转换成物理地址3. 物理地址转换成内核虚拟地址4 内核虚拟地址和对应页5 根据进程号获取进程描述符1. 用户虚拟地址转换成物理地址 static void get_pgtable_macro(void) {printk("PAGE_OFFSET 0x%lx\n", PAGE…