1. 程式人生 > >1007 素數對猜想 (20 分)

1007 素數對猜想 (20 分)

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

現給定任意正整數N(<10​5​​),請計算不超過N的滿足猜想的素數對的個數。

輸入格式:

輸入在一行給出正整數N

輸出格式:

在一行中輸出不超過N的滿足猜想的素數對的個數。

輸入樣例:

20

輸出樣例:

4

 程式碼:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int isp(int x)    //判斷是否為素數
{
	int flag=0;
	for(int i=2;i*i<=x;i++)
	{
		if(x%i==0)
		{
			flag=1;
			break;
		} 
	}
	if(flag==1)return 0;
	else return 1;
}
int main()
{
	int n;
	scanf("%d",&n);
	int count=0;
	for(int i=2;i<=n-2;i++)
	{
		if(isp(i)&&isp(i+2)) //判斷i和i+2,如果都滿足是素數,就是滿足條件的素數對
		 count++; 
	}
	printf("%d\n",count);
	return 0;
}

相關推薦

1007 素數猜想 20

1007 素數對猜想 (20 分) 讓我們定義 d n =

PAT-乙-1007 1007 素數猜想 20

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

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的滿足猜想的素

1007 素數猜想 20

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

7-3 素數猜想20

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

自測-2 素數猜想20

讓我們定義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_B_1007 素數猜想 20 【超時問題】

PS:剛開始寫部落格 ,格式掌握不好,希望見諒   讓我們定義d​n​​為:d​n​​=p​n+1​​−p​n​​,其中p​i​​是第i個素數。顯然有d​1​​=1,且對於n>1有d​n​​是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。 現給定任意正整數N

PAT B1007 素數猜想 20

algorithm scripts text bin sel 輸出 amp urn 整數 讓我們定義d?n??為:d?n??=p?n+1???p?n??,其中p?i??是第i個素數。顯然有d?1??=1,且對於n>1有d?n??是偶數。“素數對猜想”認為“存在無窮多對

PTA 7-3 驗證“哥德巴赫猜想20 判斷素數標準方法

數學領域著名的“哥德巴赫猜想”的大致意思是:任何一個大於2的偶數總能表示為兩個素數之和。比如:24=5+19,其中5和19都是素數。本實驗的任務是設計一個程式,驗證20億以內的偶數都可以分解成兩個素數之和。輸入格式:輸入在一行中給出一個(2, 2 000 000 000]範圍內的偶數N。輸出格式:在一行中按照

1007 素數猜想C語言版 + 註釋 + 素數

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

1007 素數猜想原創

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

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

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

6-2 使用函式驗證哥德巴赫猜想20

本題要求實現一個判斷素數的簡單函式,並利用該函式驗證哥德巴赫猜想:任何一個不小於6的偶數均可表示為兩個奇素數之和。素數就是隻能被1和自身整除的正整數。注意:1不是素數,2是素數。函式介面定義:int prime( int p ); void Goldbach( int n ); 其中函式prime當用戶傳入引

7-6 驗證“哥德巴赫猜想20

一、題目 二、個人理解 此題本質上就是考素數判斷。 思想很簡單,但是最大數會執行超時。這裡介紹一種簡單的素數,即只對奇數進行判斷,並對數進行一次開方。 在此我希望大家即使不掌握高深的素數判

驗證“哥德巴赫猜想20

7-111 驗證“哥德巴赫猜想”(20 分)數學領域著名的“哥德巴赫猜想”的大致意思是:任何一個大於2的偶數總能表示為兩個素數之和。比如:24=5+19,其中5和19都是素數。本實驗的任務是設計一個程式

7-33 統計素數並求和 20

本題要求統計給定整數M和N區間內素數的個數並對它們求和。 輸入格式: 輸入在一行中給出兩個正整數M和N(1≤M≤N≤500)。 輸出格式: 在一行中順序輸出M和N區間內素數的個數以及它們的和,數字間以空格分隔。 輸入樣例: 10 31 輸出樣例: 7 143

習題6-5 使用函式驗證哥德巴赫猜想 20

本題要求實現一個判斷素數的簡單函式,並利用該函式驗證哥德巴赫猜想:任何一個不小於6的偶數均可表示為兩個奇素數之和。素數就是隻能被1和自身整除的正整數。注意:1不是素數,2是素數。 函式介面定義: int prime( int p ); void Goldbach( int n ); 其中

7-33 統計素數並求和20

題目: 本題要求統計給定整數M和N區間內素數的個數並對它們求和。 輸入格式: 輸入在一行中給出兩個正整數M和N(1≤M≤N≤500)。 輸出格式: 在一行中順序輸出M和N區間內素數的個數以及它們的和,數字間以空格分隔。 輸入樣例: 10 31 輸

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的素數”。 現給定任意正整

1007. 素數猜想 (20) 數學啊 ZJU_PAT

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