热心市民小刘哈哈 2022-01-06 23:40 采纳率: 87%
浏览 57
已结题

怎么算素数问题不超时啊

输入格式:
输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于2
31
的需要判断的正整数。

输出格式:
对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。

  • 写回答

1条回答 默认 最新

  • 神仙别闹 2022-01-06 23:44
    关注
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    int sushu(int n)
    {
        int i;
        if (n == 1)
        {
            return 0;
        }
        for (i = 2; i <= sqrt(n); i++)
        {
            if (n%i == 0)
            {
                return 0;
            }
        }
        return 1;
    }
    int main()
    {
        int a, b, c;
        scanf("%d", &a);
        for (b = 0; b < a; b++)
        {
            scanf("%d", &c);
            if (sushu(c))
                printf("Yes\n");
            else
                printf("No\n");
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 1月15日
  • 已采纳回答 1月7日
  • 创建了问题 1月6日

悬赏问题

  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd
  • ¥50 C# 使用DEVMOD设置打印机首选项
  • ¥15 麒麟V10 arm安装gdal
  • ¥20 OPENVPN连接问题