ACM_天涯若比邻(最小与最大相邻素数)
Problem Description:
一心想搞ACM的小G最近迷上了数论,特别对于跟“素数”相关的问题特别有感觉。今天,突发奇想的他给自己出了个难题,随便给出一个int32位范围内的正整数,能否知道它相邻的素数呢?
Input:
输入数据有多组,每组包含int32位范围内的正整数 n 和 f。其中,"f=1"表示要求出比 n 大的相邻素数,"f=-1"表示要求出比 n 小的相邻素数。如果输入n,f都等于0,则表示输入结束,该组数据不做处理。
Output:
对于每组测试数据,输出为一行,且格式为“Case #x: y”,x从1开始,y为对应的答案。
Sample Input:
2 1
7 1
0 0
Sample Output:
Case #1: 3
Case #2: 11
解题思路:题目很简单,但要注意的是当输入的值为2147483647即为int的最大值,且f==1时,此时向上枚举会溢出,所以要定义成long long,为了不发生类型转换造成错误,因此统一定义成long long型。
AC代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
bool isprime(LL x){ //判断素数
for(LL i=;i*i<=x;++i)
if(x%i==)return false;
return true;
}
int main()
{
int f,g=;
LL n,r;//将n定义为longlong,以免int隐式转化成longlong发生错误,r保存相邻的素数
while(cin>>n>>f && (n+f)){
if(f==){
for(LL i=n+;;++i)//大于n进行枚举,直到找到第一个素数为止
if(isprime(i)){r=i;break;}
}
else{
for(LL i=n-;i>;--i){//小于n进行枚举,直到找到第一个素数为止
if(isprime(i)){r=i;break;}
}
}
cout<<"Case #"<<(++g)<<": "<<r<<endl;
}
return ;
}
ACM_天涯若比邻(最小与最大相邻素数)的更多相关文章
- POJ2689 - Prime Distance(素数筛选)
题目大意 给定两个数L和U,要求你求出在区间[L, U] 内所有素数中,相邻两个素数差值最小的两个素数C1和C2以及相邻两个素数差值最大的两个素数D1和D2,并且L-U<1,000,000 题解 ...
- poj 2689 Prime Distance(大区间素数)
题目链接:poj 2689 Prime Distance 题意: 给你一个很大的区间(区间差不超过100w),让你找出这个区间的相邻最大和最小的两对素数 题解: 正向去找这个区间的素数会超时,我们考虑 ...
- ZOJ 1842 Prime Distance(素数筛选法2次使用)
Prime Distance Time Limit: 2 Seconds Memory Limit: 65536 KB The branch of mathematics called nu ...
- poj 2689Prime Distance(区间素数)埃氏筛法
这道题的L和R都很大,所以如果直接开一个1~R的数组明显会超时.但是R-L并不大,所以我们考虑把这个区间(L--R)移动到(1--(R-L+1))这个区间再开数组(就是把每个数减L再加1).接下来先用 ...
- QDU-GZS与素数大法(素数筛法)
Description 自从GZS成为G神之后,追随者不计其数,更是有了大名鼎鼎的拜神论: "吾尝终日编程也,不如须臾之拜拜G神也:吾尝打字刷题也,不如一日三拜G神也: 拜拜G神,程序非长也 ...
- 题解报告:poj 2689 Prime Distance(区间素数筛)
Description The branch of mathematics called number theory is about properties of numbers. One of th ...
- [ACM] POJ 2689 Prime Distance (筛选范围大素数)
Prime Distance Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 12811 Accepted: 3420 D ...
- poj2689 Prime Distance(素数区间筛法)
题目链接:http://poj.org/problem?id=2689 题目大意:输入两个数L和U(1<=L<U<=2 147 483 647),要找出两个相邻素数C1和C2(L&l ...
- PAT 乙级 1007. 素数对猜想 (20) c++ 筛选法求素数
PAT 乙级 1007. 素数对猜想 (20) c++ 筛选法求素数 让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数 ...
随机推荐
- msp430入门编程05
msp430中C语言的运算符和表达式 msp430中C语言的程序结构06 msp430中C语言的函数及实现07 msp430中C语言操作端口I/O10 msp430中C语言的模块化头文件及实现11 m ...
- P1631 序列合并 洛谷
https://www.luogu.org/problem/show?pid=1631 题目描述 有两个长度都是N的序列A和B,在A和B中各取一个数相加可以得到N^2个和,求这N^2个和中最小的N个. ...
- JSTL-SQL标签库
主页:http://www.cnblogs.com/EasonJim/p/6958992.html的分支页. 本章的前提需要先新建数据表及添加默认数据,脚本如下: -- -- 数据库: `test` ...
- 程序猿是如何解决SQLServer占CPU100%的--马非码
http://www.cnblogs.com/marvin/p/ASolutionForSQLServerCauseHighCPU.html
- some 算法
矩阵变换:: 请用一条语句将: arr = [[1, 2, 3, 'a'], [4, 5, 6, 'b'], [7, 8, 9, 'c']] 转换装置矩阵为: [[1, 4, 7], [2, 5, 8 ...
- Rust 1.7.0 macro宏的复用 #[macro_use]的使用方法
Rust 1.7.0 中的宏使用范围包含三种情况: 第一种情况是宏定义在当前文件里.这个文件可能是 crate 默认的 module,也可能是随意的 module 模块. 另外一种情况是宏定义在当前 ...
- "Simple Factory" vs "Factory Method" vs "Abstract Factory" vs "Reflect"
ref: http://www.cnblogs.com/zhangchenliang/p/3700820.html 1. "Simple Factory" package torv ...
- 看我如何基于Python&Facepp打造智能监控系统
由于种种原因,最近想亲自做一个基于python&facepp打造的智能监控系统. 0×00:萌芽 1:暑假在家很无聊 想出去玩,找不到人.玩个lol(已卸载),老是坑人.实在是无聊至极,不过, ...
- Node后台使用mysql并开启事务
如题:node后台使用mysql数据库,并使用事务来管理数据库操作. 这里主要讲一个事务的封装并写了一个INSERT 插入操作. code: 基础code: db.config.js const my ...
- HDOJ 5387 Clock 水+模拟
Clock Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Subm ...