2301_80719440 2023-11-03 20:05 采纳率: 0%
浏览 191

C语言判断相差2的素数对

素数对

题目描述

定义两个相差为 2 的素数称为素数对,如 5 和 7,17 和 19 等,要求找出所有两个数均不大于 n 的素数对。

输入格式

一个正整数 n。(1≤n≤10000)

输出格式

所有小于等于 n 的素数对。每对素数对输出一行,中间用单个空格隔开。

若没有找到任何素数对,输出"empty"。

输入输出样例

输入

30

输出

3 5

5 7

11 13

17 19

  • 写回答

2条回答 默认 最新

  • threenewbee 2023-11-03 20:12
    关注
    #include <stdio.h>
    int isp(int n)
    {
        if (n < 2) return 0;
        for (int i = 2; i <= n / 2; i++)
            if (n % i == 0)
                return 0;
        return 1;
    }
    int main()
    {
        int n;
        scanf("%d", &n);
        int found = 0;
        for (int i = 4; i <= n; i++)
        {
            if (isp(i) && isp(i - 2))
            {
                found = 1;
                printf("%d %d\n", i - 2, i);
            }
        }
        if (!found)
            printf("empty");
        return 0;
    }
    

    img

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 11月3日