T1163素数对

【题目来源】https://www.jisuanke.com/problem/T1163
蒜头君定义两个相差为2的素数称为素数对,如5和7,17和19等,要求找出所有两个数均不大于n的素数对。
【输入格式】一个正整数n。
【输出格式】所有小于等于n的素数对。每对素数对输出一行,中间用单个空格隔开。若没有找到任何素数对,输出“empty”。
【代码】

# include 
# include 
int isprime(int num)
{
    int res = 1;
    if (num == 1)
        res = 0;
    for (int i = 2; i <= sqrt(num); ++i)
        if (num % i == 0){
            res = 0;
            break;
        }
    return res;
}
int main()
{
    int n, flg = 0;
    scanf("%d", &n);
    for (int i = 2; i <= n-2; ++i) {
        if (isprime(i) && isprime(i + 2)) {
            flg = 1;
            printf("%d %d\n", i, i + 2);
        }
    }
    if (!flg)
        printf("empty");
    return 0;
}

你可能感兴趣的:(1024程序员节)