2301_80158215 2023-12-11 15:20 采纳率: 50%
浏览 13
已结题

最近的素数,最近的素数

B 最近的素数
Description
输入一个整数 ,请你输出距离 最近的素数 ,例如: n=8时,输出7 ;n=35
时,输出37 ,而有时可能答案并不唯一,此时我们输出较少的那个素数,例如:
n=4
时,输出3 。

Format Input
输入一个整数 。
Output
输出对应的素数 。
C语言

  • 写回答

3条回答 默认 最新

  • threenewbee 2023-12-11 15:31
    关注
    #include <stdio.h>
    int isp(int n)
    {
        if (n < 2) 
            return 0;
        for (int i = 2; i < n; i++) 
            if (n % i == 0) return 0;
        return 1;
    }
    int main()
    {
        int n;
        scanf("%d", &n);
        int i = 0;
        int r = 0;
        while (1)
        {
            i++;
            r = n - i;
            if (isp(r)) break;
            r = n + i;
            if (isp(r)) break;
        }
        printf("n=%d", r);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月1日
  • 已采纳回答 12月24日
  • 修改了问题 12月11日
  • 创建了问题 12月11日