pta上的素数对猜想题用c++写了以后总是在“只有一对”这里丢2分,实在找不出问题。
题目如下:

pta评测如下:

代码如下:
#include<math.h>
#include<iostream>
using namespace std;
bool isprime(int n)
{
if(n <= 1) return false;
for (int i = 2;i <= sqrt(n);i++)
{
if (n % i == 0) return false;
}
return true;
}
int main()
{
int N;
cin >> N;
int res = 0;
int a = 2;int b = 2;
for (int i = 2;i < N;i++)
{
if (isprime(i))
{
a = b;
b = i;
if (b - a == 2) res++;
}
}
cout<<res;
}