程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> NYOJ 24 素數距離問題

NYOJ 24 素數距離問題

編輯:C++入門知識

NYOJ 24 素數距離問題


素數距離問題

時間限制:3000 ms | 內存限制:65535 KB 難度:2
描述 現在給出你一些數,要求你寫出一個程序,輸出這些整數相鄰最近的素數,並輸出其相距長度。如果左右有等距離長度素數,則輸出左側的值及相應距離。
如果輸入的整數本身就是素數,則輸出該素數本身,距離輸出0
輸入第一行給出測試數據組數N(0 接下來的N行每行有一個整數M(0 其中A表示離相應測試數據最近的素數,B表示其間的距離。樣例輸入
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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved