Sicily 1500. Prime Gap | 运用数论结论:10^9以内,两个相邻素数距离不超过400
来源:互联网 发布:手机淘宝一元秒杀攻略 编辑:程序博客网 时间:2024/06/05 20:11
题目:
• 题意:
给出一个正整数k,找到与之相邻的两个素数,并求出两个素数之差。如果不存在两个相邻的素数则输出0。
限制: 1<=k<=1299709
• 分析:
有一个结论,素数的分布相对密集,在10^9以内,两个相邻素数距离不超过400 ,所以可以直接向前和向后枚举素数
代码:
// Problem#: 1500// Submission#: 5124813// The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License// URI: http://creativecommons.org/licenses/by-nc-sa/3.0/// All Copyright reserved by Informatic Lab of Sun Yat-sen University#include<cstdio>using namespace std;bool isPrime(int n) { for(int i=2;i*i<=n;i++) if(n%i==0) return false; return true;}int getAnswer(int n){ int gap=400; int fir,sec; for(sec=n;sec<=n+gap&&!isPrime(sec);sec++);//向后查找 if(sec>n+gap) return 0; for(fir=n;fir>=n-gap&&!isPrime(fir);fir--);//向前查找 if(fir<=0) return 0; return sec-fir;}int main(){ int a; while(scanf("%d",&a)&&a) printf("%d\n",getAnswer(a));}
阅读全文
0 0
- Sicily 1500. Prime Gap | 运用数论结论:10^9以内,两个相邻素数距离不超过400
- sicily--1500. Prime Gap
- Sicily 1500. Prime Gap
- sicily 1500.Prime Gap
- Sicily 1500. Prime Gap
- Sicily 1500. Prime Gap
- [sicily]1500. Prime Gap
- sicily 1500. Prime Gap
- Sicily 1500. Prime Gap
- UVA - 1644 - Prime Gap(找相邻素数差值)
- Prime Gap (素数)
- (Relax 数论1.14)POJ 26889 Prime Distance(区间筛素数:求一个区间L\U中距离最近的两个素数和距离最远的两个素数)
- POJ 2689 Prime Distance(区间相邻素数最大、小距离,区间素数筛)
- POJ 3518 Prime Gap 素数
- Prime Gap--素数打表
- POJ 3518 Prime Gap(素数)
- (数论2.1.4)POJ3518 Prime Gap(埃拉托斯特尼筛法)
- POJ 3518 Prime Gap(数论)
- try catch finally 的执行
- 多条件分页,增加,修改,删除(包含文件上传,下载)(图书管理系统)
- selenium 通过class 定位失败可能的原因
- java的系统学习之路(二)
- 神经网络压缩(7)Soft weight-sharing for neural network compression
- Sicily 1500. Prime Gap | 运用数论结论:10^9以内,两个相邻素数距离不超过400
- springMVC-2-常用注解
- CSP开发基础--CSP入门简介
- java jar包启动 内存参数
- JavaScript闭包
- java开发C编译器:jvm函数调用时的参数传递
- 优化算法——人工蜂群算法(ABC)
- Java MyBatis自动生成映射文件
- POJ 3061Subsequence 【尺取法】