7-55 Conjetura del par de números primos (20 puntos)

7-55 Conjetura del par de números primos (20 puntos)
Definamos d
n
como: d
n
= p
n + 1
−p
n
, donde p
i
es el i -ésimo número primo. Obviamente, d
1
= 1, y d
n
es par para n> 1 . La "conjetura de los pares primos" cree que "hay infinitos pares de números primos adyacentes con una diferencia de 2".

Ahora, dado cualquier entero positivo N (<10
5
), cuente el número de pares de números primos que no exceden N que satisfacen la conjetura.

Formato de entrada:
introduzca un número entero positivo N en una línea.

Formato de salida:
muestra el número de pares de números primos que no exceden N y satisfacen la conjetura en una línea.

Muestra de entrada:
20
Muestra de salida:
4

Análisis: El
tamiz de Ehrlich 0 1 no es un tamiz de superposición de números primos;

#include<bits/stdc++.h>
using namespace std;
int prime[100009],book[100009];
void func(){
    
    
	int t=0;
	memset(book,1,sizeof(book));
	book[0]=0,book[1]=0;
	for(int i=0;i<=(100009);i++){
    
    
		if(book[i]){
    
    
			prime[t++]=i;
			for(int j=2*i;j<=100009;j+=i)
			book[j]=0;
		}
	}
}
int main(){
    
    
	int n,sum=0;
	cin>>n;
	func(); 
	for(int i=1;;i++){
    
    
		if(prime[i]>n){
    
    
			cout<<sum;
			return 0;
		}
		if(prime[i]-prime[i-1]==2)sum++;
	}
	
	return 0;
}

Supongo que te gusta

Origin blog.csdn.net/Minelois/article/details/112913855
Recomendado
Clasificación