标签:blog os ar java for 数据 sp div 2014
3 6 8 10
5 1 7 1 11 1
JAVA代码:
/* * 搜索最小素数距离,优先级分析: * 1、判断输入的是否为素数,是素数输出 * 2、判断左侧最近素数 * 3、判断右侧最近素数 * * 特例需注意,数字1不是素数 * */ package org.oj; import java.util.Scanner; public class Main { //判断素数 private boolean is_prime(int x){ if(x>1){ if(x<4){ // 2,3 素数 return true; }else{ for(int i=2;i<=Math.sqrt(x);i+=1){ if(x%i==0) return false; } return true; } } return false; } public static void main(String[] args) { Scanner scan=new Scanner(System.in); Main nyoj=new Main(); int n=scan.nextInt(); //组数 for(int i=0;i<n;i++){ int m=scan.nextInt(); if(m<0) break; if(nyoj.is_prime(m)){ System.out.println(m+" "+0); continue; } // 距离 int d=(m%2==0)?1:0; //特例:1 不是素数 if(m==1){ System.out.println("2 1"); }else{ while(true){ int min=m-d; int max=m+d; if(nyoj.is_prime(min)){ System.out.println(min+" "+d); break; }else{ if(nyoj.is_prime(max)){ System.out.println(max+" "+d); break; } } d+=2; } } } scan.close(); } }
标签:blog os ar java for 数据 sp div 2014
原文地址:http://blog.csdn.net/user_longling/article/details/39672815