1. 程式人生 > >PAT 乙級 -- 1007 -- 素數對猜想

PAT 乙級 -- 1007 -- 素數對猜想

題目簡述

      讓我們定義 dn 為:dn = pn+1 - pn,其中 pi 是第i個素數。顯然有 d1=1 且對於n>1有 dn 是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。
      現給定任意正整數N (< 105),請計算不超過N的滿足猜想的素數對的個數。

輸入格式:每個測試輸入包含1個測試用例,給出正整數N。

輸出格式:每個測試用例的輸出佔一行,不超過N的滿足猜想的素數對的個數。

輸入樣例
20

輸出樣例
4

C++程式碼樣例

#include <iostream>
#include <cstdio> #include <cstdlib> #include <cmath> #include <string.h> using namespace std; bool isPrime(int p) //素數判定 { int i = 0; for(i=2;i<=sqrt(p);i++) { if(p%i==0) { return false; } } return true; } void setPrime(long
(&Prime)[10005], const int N) //按照要求在陣列中置素數 { int p = 1; //素數 int i = 0; //Prime陣列序數 while(1) { if(isPrime(p)) { if(p>N) { return; }else{ Prime[i] = p; i++; } } p++; } return
; } void clacBetPrime(long (&Prime)[10005], long (&betPrime)[10005]) //計算素數陣列差值 { int i = 0, j = 1; while(Prime[j] != 0) { betPrime[i] = Prime[j] - Prime[i]; i++; j++; } return; } int main(void) { int i=0,j=0; int N = 0; int count = 0; long Prime[10005]; long betPrime[10005]; memset(Prime,0,sizeof(Prime)); memset(betPrime,0,sizeof(betPrime)); scanf("%d",&N); setPrime(Prime,N); clacBetPrime(Prime,betPrime); for(i=0; betPrime[i]!=0; i++) { if(betPrime[i] == 2) { count++; } } printf("%d",count); return 0; }

相關推薦

PAT乙級.1007.素數猜想 (20)

tdi stdio.h include tin clas 整數 個數 輸出格式 char 讓我們定義 dn 為:dn = pn+1 - pn,其中 pi 是第i個素數。顯然有 d1=1 且對於n>1有 dn 是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”

PAT乙級1007素數猜想

題目描述: 讓我們定義d ​n ​​ 為:d ​n ​​ =p ​n+1 ​​ −p ​n ​​ ,其中p ​i ​​ 是第i個素數。顯然有d ​1=1,且對於n>1有d ​n ​​ 是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。現給定任意

PAT 乙級 1007 素數猜想

1007 素數對猜想 (20 point(s)) 讓我們定義d​n​​為:d​n​​=p​n+1​​−p​n​​,其中p​i​​是第i個素數。顯然有d​1​​=1,且對於n>1有d​n​​是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。 現給定任意

PAT 乙級 1007. 素數猜想 (20)

import java.util.ArrayList; import java.util.List; import java.util.Scanner; /* 1007. 素數對猜想 (20)

PAT乙級1007. 素數猜想 (20)-native

讓我們定義 dn 為:dn = pn+1 - pn,其中 pi 是第i個素數。顯然有 d1=1 且對於n>1有 dn 是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。 現給定任意正整數N (< 105),請計算不超過N的滿足猜想的素數

PAT 乙級1007. 素數猜想 (JAVA版)

讓我們定義 dn 為:dn = pn+1 - pn,其中 pi 是第i個素數。顯然有 d1=1 且對於n>1有 dn 是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。 現給定任意正整數N (< 105),請計算不超過N的滿足猜想的素數

(PAT乙級)1007 素數猜想

讓我們定義 d~n~ 為:d~n~ = p~n+1~ - p~n~,其中 p~i~ 是第i個素數。顯然有 d~1~=1 且對於n&gt1有 d~n~ 是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。 現給定任意正整數N (< 10^

PAT 乙級 -- 1007 -- 素數猜想

題目簡述       讓我們定義 dn 為:dn = pn+1 - pn,其中 pi 是第i個素數。顯然有 d1=1 且對於n>1有 dn 是偶數。“素數對猜想”認為“存在無窮多對相鄰且差

PAT乙級1007 素數猜想

讓我們定義 dn 為:dn = pn+1 - pn,其中 pi 是第i個素數。顯然有 d1=1 且對於n>1有 dn 是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。 現給定任意正整數N (< 105),請計算不超過N的滿足猜想的素數對的個數。 輸入格式:每個測試輸入包含1個

[PAT乙級]1007. 素數猜想 (20)

1007. 素數對猜想 (20) 原題連結 讓我們定義 dn 為:dn = pn+1 - pn,其中 pi 是第i個素數。顯然有 d1=1 且對於n>1有 dn 是偶數。“素數對猜想”認為“存

PAT Basic 1007. 素數猜想 (20) (C語言實現)

, CSDN內容暫時不更新(將來有計劃更新), 請前往連結檢視最新內容. 歡迎star 我的repo題目讓我們定義 d_n 為:d_n = p_{n+1} - p_n,其中 p_i

PAT刷題集(乙級1007 素數猜想 (20)(20 分)

1007 素數對猜想 (20)(20 分) 讓我們定義 d~n~ 為:d~n~ = p~n+1~ - p~n~,其中 p~i~ 是第i個素數。顯然有 d~1~=1 且對於n&gt1有 d~n~ 是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。 現給定任意正整

PAT乙級1007. 素數猜想 (Java)

本題不難,重在理解題意中N的含義。此處N的意思為最大的素數不超過N。我們最平常的思路如下:先將所有的小於N的素數算出,再找相鄰差為2的: import java.util.ArrayList; import java.util.List; i

PAT乙級1007 素數猜想(C語言實現)

總結:關鍵在於判斷是不是素數的程式碼段可以作為常識記憶,即: for(i=3;i<=n;i++)   {     k=sqrt(i);     for(j=2;j<=k;j++)     {       if(i%j==0)       break;   

PAT 1007. 素數猜想

data- 輸出 1=1 rac tro mes main spl pan 1007. 素數對猜想 (20) 讓我們定義 dn 為:dn = pn+1 - pn,其中 pi 是第i個素數。顯然有 d1=1 且對於n>1有 dn 是偶數。“素數對猜想”認為“存在無窮

PAT(Basic Level) Practice——1007 素數猜想

原題目: 讓我們定義d​n​​為:d​n​​=p​n+1​​−p​n​​,其中p​i​​是第i個素數。顯然有d​1​​=1,且對於n>1有d​n​​是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。 現給定任意正整數N(<10​5​​),請計算不超過N的滿足猜想的

PAT-乙-1007 1007 素數猜想 (20 分)

程式碼 #include <stdio.h> #include <string.h> #define MAX 100001 int isPrime[MAX]; int sum[MAX]; void selectPrime(){

PAT-1007 素數猜想

1007 素數對猜想 (20 分) 讓我們定義d​n​​為:d​n​​=p​n+1​​−p​n​​,其中p​i​​是第i個素數。顯然有d​1​​=1,且對於n>1有d​n​​是偶數。“素數對猜想

PAT 1007. 素數猜想 python 執行超時問題解決方案

原問題 https://www.patest.cn/contests/pat-b-practise/1007 讓我們定義 dn 為:dn = pn+1 - pn,其中 pi 是第i個素數。顯然有 d1=1 且對於n>1有 dn 是偶數。“素數對猜想”認為“存在無

PAT (Basic Level) Practice (中文) 1007 素數猜想 (20 分) (C++)

1007 素數對猜想 (20 分) 讓我們定義dn為:dn=pn+1 −p​n,其中p​i是第i個素數。顯然有d1=1,且對於n>1有d​n 是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。 現給定任意正整數N(<105 ),請計算不超過N的滿足猜想的素