golang爬虫 海思 class import vb6 八大员 建站一条龙 网络营销视频教程 hadoop源码 arduino程序 linux下载器 hadoop组件 tomcat调优和jvm调优 郑州普通话 python例子 java实例 java斐波那契数列 java匿名对象 java中基本数据类型 java怎么输出数组 java运行 linux系统命令大全 python教程视频 php连接mssql allowoverride linux操作系统原理 网络适配器下载 kafka权威指南 有线网卡驱动下载 js代码混淆工具 拼多多商家下载 手工画像 淘宝退货怎么上门取件 极速傲引擎 ssh框架原理及流程 浏览器安卓 ps二寸照片制作教程 网页flash抓取器 winloader 化学式编辑器
当前位置: 首页 > 学习教程  > 编程语言

hdu-----------2012

2020/8/31 15:37:34 文章标签:

素数判定
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 233173 Accepted Submission(s): 82813

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

Author
lcy

Source
C语言程序设计练习(二)
代码:

#include<iostream>
#include<cmath>
using namespace std;
bool calculate(int n){
	bool flag=true;
     int m=pow(n,2)+n+41;
     for(int j=2;j<m;j++){
     if(m%j==0){
     flag=false;
	 }
} 
    return flag;
} 
int main(){
int a,b;
while(cin>>a>>b){
	if(a>=-39&&a<b&&b<=50){
		bool flag=true;
		if(a==0&&b==0){
			break;
		}
		for(int i=a;i<=b;i++){
			if(!calculate(i)){
		        flag=false;//这里我就是用了bool值来重新赋值,最后发现这个错误,改正就能运行了。
				break;
			}
		}
		if(flag){
		cout<<"OK"<<endl;	
		}else{
		cout<<"Sorry"<<endl;	
		}		
	}
} 
}


犯了一个致命的错误就是对bool值的赋值上,做了重复赋值,导致原来的flag不知道原来的bool值,总是运行不正确,一个错误也是致命的。
在这里插入图片描述


本文链接: http://www.dtmao.cc/news_show_150376.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?