PAT (Basic Level) Practice 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<bits/stdc++.h>
using namespace std;
int isprime(int a){
 int i,x=sqrt(a);
 if(a<=1) return 0;
 for(i=2;i<=x;i++){
  if(a%i==0) return 0;
 }
 return 1;
}
int main()
{
 int n;
 while(cin>>n){
// cin>>n;
 int i,count=0;
 for(i=2;i<=n;i=i+2){
  int a,b;
  a=i/2+1;
  b=i/2-1;
  if(isprime(a)&&isprime(b)) count++;
  cout<<a<<" "<<b<<endl;
 }
 cout<<count<<endl;
 }
 return 0;
 } 
全部评论

相关推荐

牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务