寫乙個程式,找出給出素數範圍內的所有孿生素數的組數。一般來說,孿生素數就是指兩個素數距離為2,近的不能再近的相鄰素數。有些童鞋一看到題就開始寫程式,不仔細看題,咱們為了遏制一下讀題不認真仔細的童鞋,規定,兩個素數相鄰為1的也成為孿生素數。
第一行給出n(0每組測試資料輸出佔一行,該行為m範圍內所有孿生素陣列數。
1 14
4首先,生成所有的素數,並將其標識。然後從m開始迴圈遍歷,判斷a[i]與a[i - 2]是否均為素數,如果是,則ans++,當m>=3時,ans的初始值為1,因為3和2也是一組孿生素數。
#include
#include
using
namespace
std;
#define max_p 1000000
int a[max_p];
//生成素數演算法
void getprimes()
int main()
for (int i = m; i >=4; i--)
cout
<< ans << endl;
}
cout
<< endl;
return
0;}
#include
#include
using
namespace
std;
bool vis[1000010];
int main()
cin>>n;
while(n--)
if(m>3)
cout
<1
if(m==3) cout
<<"1"
cout
<<"0"
0;}
由源**可知,演算法時間複雜度在於求出所有的素數,兩層迴圈,故演算法時間複雜度為o(sqrt(n) * sqrt(n)) = o(n)。 NYOJ 題目26 孿生素數問題
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 寫乙個程式,找出給出素數範圍內的所有孿生素數的組數。一般來說,孿生素數就是指兩個素數距離為2,近的不能再近的相鄰素數。有些童鞋一看到題就開始寫程式,不仔細看題,咱們為了遏制一下讀題不認真仔細的童鞋,規定,兩個素數相鄰為1的也成為...
nyoj26 孿生素數問題
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 寫乙個程式,找出給出素數範圍內的所有孿生素數的組數。一般來說,孿生素數就是指兩個素數距離為2,近的不能再近的相鄰素數。有些童鞋一看到題就開始寫程式,不仔細看題,咱們為了遏制一下讀題不認真仔細的童鞋,規定,兩個素數相鄰為1的也成為...
NYoj 26 孿生素數問題
孿生素數問題 時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 寫乙個程式,找出給出素數範圍內的所有孿生素數的組數。一般來說,孿生素數就是指兩個素數距離為2,近的不能再近的相鄰素數。有些童鞋一看到題就開始寫程式,不仔細看題,咱們為了遏制一下讀題不認真仔細的童鞋,規定,兩個素數相...