孪生素数(c++/c)求解!

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;
}

有用还望采纳