素数距离问题_ny_24.java
来源:互联网 发布:动态表单 数据库设计 编辑:程序博客网 时间:2024/05/18 18:55
素数距离问题
时间限制:3000 ms | 内存限制:65535 KB
难度:2
- 描述
- 现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。
如果输入的整数本身就是素数,则输出该素数本身,距离输出0- 输入
- 第一行给出测试数据组数N(0<N<=10000)
接下来的N行每行有一个整数M(0<M<1000000), - 输出
- 每行输出两个整数 A B.
其中A表示离相应测试数据最近的素数,B表示其间的距离。 - 样例输入
36810
- 样例输出
5 17 111 1
- 来源
- 经典题目
- 上传者
- hzyqazasdf
import java.io.BufferedReader;import java.io.InputStreamReader;public class Main{public static void main(String[] args) {BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));try {int N=Integer.parseInt(bf.readLine());while(N-->0){int m=Integer.parseInt(bf.readLine());if(m<2){System.out.println(2+" "+(2-m));continue;}int i=0;for(i=2;i*i<=m;i++){if(m%i==0)break;}if(i*i>m){System.out.println(m+" "+"0");continue;}int left=-20;for(i=m-1;i>=2;i--){int j=0;for(j=2;j*j<=i;j++)if(i%j==0)break;if(j*j>i){left=i;break;}}int right=0;for(i=m+1;;i++){int j=0;for(j=2;j*j<=i;j++)if(i%j==0)break;if(j*j>i){right=i;break;}}System.out.println((m-left>right-m?(right+" "+(right-m)):(left+" "+(m-left))));}} catch (Exception e) {e.printStackTrace();}}}
- 素数距离问题_ny_24.java
- 素数距离问题
- NYOJ - 素数距离问题
- 素数距离问题
- NYOJ24-素数距离问题
- 素数距离问题
- 素数距离问题
- 素数距离问题
- 【素数距离问题 24】
- 素数距离问题
- 素数距离问题
- 素数距离问题
- 素数距离问题
- nyoj24素数距离问题
- nyoj24 素数距离问题
- NYOJ24 素数距离问题
- 素数距离问题
- 素数距离问题
- Android官网培训课:App开发中的网络连接和云计算
- perl读文件第m到n行的实例
- Android官网培训课:无线方式连接设备
- Binary Tree Maximum Path Sum
- 浏览器是如何工作的系列:页面布局
- 素数距离问题_ny_24.java
- python抓取百度贴吧高清图片
- 为什么我们喜欢用 sigmoid 这类 S 型非线性变换?
- Cypress固件架构彻底解析及USB枚举
- java正则表达式语法
- 大话设计模式十一:迪米特法则(无熟人难办事)
- 栈之经典应用
- 解决Ubuntu下Flash多显示器不能全屏问题
- Guava学习之Splitter