描述
对于给出的长度为N(3 <= N < 1000)的正整数序列,满足连续3个元素均为素数的区间称为3素数区间,计算该序列中3素数区间的个数。
输入
第一行,序列中元素个数N;第二行,N个正整数,用空格隔开。
输出
3素数区间的个数。
输入样例 1
7 3 5 5 7 6 5 8
输出样例 1
2
代码如下:
#include <bits/stdc++.h>
using namespace std;
bool sushu(long long x)
{
if(x<2)
return false;
for(int i=2;i*i<=x;i++)
{
if(x%i==0)
{
return false;
}
}
return true;
}
int main()
{
int N,M,y=0;
cin>>N;
int a[N];
for(int i=1;i<=N;i++)
{
cin>>M;
if(sushu(M)==true)
a[i]=1;
else
a[i]=0;
}
for(int j=1;j<=N-2;j++)
{
if(a[j]==1&&a[j+1]==1&&a[j+2]==1)
y++;
}
cout<<y;
}