让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。
Python(全通过)
def isprime(num):
if num == 2:
return True
for i in range(2,int(pow(num,0.5)+1)):
if num % i == 0:
return False
break
else:
return True
n = int(input())
prime = []
cnt = 0
if n > 3:
for i in range(3,n+1,2):
if isprime(i):
prime.append(i)
for i in range(len(prime)-1):
if prime[i] == prime[i+1] - 2:
cnt += 1
print(cnt)
Python(测试点5运行超时)
def isprime(num):
if num == 2:
return True
for i in range(2,int(pow(num,0.5)+1)):
if num % i == 0:
return False
break
else:
return True
n = int(input())
cnt = 0
if n > 3:
for i in range(2,n-1):
if isprime(i) and isprime(i+2):
cnt += 1
print(cnt)
C++(测试点5运行超时)
#include <iostream>
using namespace std;
bool isprime(int num){
for(int i = 2; i<num;i++){
if (num % i == 0){
return false;
}
}
return true;
}
int main()
{
int n,cnt = 0;
cin>>n;
for(int i = 3;i<n-1;i++){
if(isprime(i) && isprime(i+2)){
cnt++;
}
}
cout<<cnt<<endl;
return 0;
}

171

被折叠的 条评论
为什么被折叠?



