PAT-乙級-Java-1007(部分正確)
阿新 • • 發佈:2018-12-01
1007 素數對猜想 (20 分)
讓我們定義dn為:dn=pn+1−pn,其中pi是第i個素數。顯然有d1=1,且對於n>1有dn是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。
現給定任意正整數N
(<10^5),請計算不超過N
的滿足猜想的素數對的個數。
輸入格式:
輸入在一行給出正整數N
。
輸出格式:
在一行中輸出不超過N
的滿足猜想的素數對的個數。
輸入樣例:
20
輸出樣例:
4
Java程式碼實現:
import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int input = Integer.parseInt(sc.nextLine()); List<Integer> list = new ArrayList<Integer>(); int count = 0; int non = 0; for(int i = 1;i<=input;i++){ list.add(i); for(int j = 2;j<i;j++){ if(i % j == 0){ list.remove(i-1-non); non++; break; } } } for(int i = 0;i<list.size()-1;i++){ if(((int)list.get(i)-(int)list.get(i+1)) == -2){ count++; } } System.out.println(count); } }