Description
输入两个整数,m, n,(0\le m \le n \le 10^7)m,n(0≤m≤n≤10
7
),请输出区间,[m, n],[m,n]内所有的孪生素数对。孪生素数就是指相差 2 的素数对,例如 3 和 5,5 和 7,11 和 13…。
Format
Input
两个整数,m, n,(0\le m \le n \le 10^7)m,n(0≤m≤n≤10
7
)
Output
从小到大输出区间,[m, n],[m,n]内所有的素数对,用一对小括号括起来,(a,b)(a,b),中间没有空格。
如果这个区间内没有素数对,输出,nonenone
Samples
输入数据 1
0 1
输出数据 1
none
输入数据 2
1 10
输出数据 2
(3,5)(5,7)
Limitation
1s, 1024KiB for each test case.
#include <iostream>
using namespace std;
bool func01(int n) {
if(n<2) {
return false;
}
if(n == 3 || n == 5 || n == 7 || n == 2) {
return true;
}
for(unsigned int i = 2; i*i<=n; i++) {
if(n%i == 0) {
return false;
}
}
return true;
}
void test01() {
int m,n;
cin>>m>>n;
int count = 0;
for(int i = m; i<=n; i++) {
if(func01(i)) {
if(func01(i+2)&&i+2<=n) {
count++;
cout<<"("<<i<<","<<i+2<<")";
}
}
}
if(count == 0) {
cout<<"none"<<endl;
}
return ;
}
int main() {
test01();
return 0;
}
有用还望采纳