小冷漠‰959 2021-11-12 22:35 采纳率: 70%
浏览 23
已结题

求帮帮忙,这个定义prime,并判断质数哪错了

#include <stdio.h>
#include <stdlib.h>
int main()
{
int prime(int p);
int p;
printf("请输入一个大于1的整数:");
scanf("%d", &p);
int a;
a = prime(p);
if (a == 1)
{
printf("%d是质数", p);
}
else
{
printf("%d不是质数", p);
}
return 0;
}
int prime(int p)
{
int i;
if(p == 2)
{
return 1;
}
else
{
for (i = 2; i <= p-1; i++)
{
if (p % i == 0)
{
return 0;
break;
}
}
if (i == p-1)
{
return 1;
}

     }

}

  • 写回答

1条回答 默认 最新

  • 从善若水 5G/6G通信领域优质创作者 2021-11-12 22:37
    关注

    没那么复杂,你看我写的

    int prime(int m)
    {
        int i=0;
        int k=(int)sqrt( (double)m );
        for(i=2;i<=k;i++)
            if(m%i==0) break;
        if(i>k)
            return 1;
        else
            return 0;
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月19日
  • 已采纳回答 12月11日
  • 创建了问题 11月12日

悬赏问题

  • ¥15 github录制项目
  • ¥15 H.264选择性加密例程
  • ¥50 windows的SFTP服务器如何能批量同步用户信息?
  • ¥15 centos7.9升级python3.0的问题
  • ¥15 如何解决调试dev-出++5.11不成功问题
  • ¥15 安装CentOS6时卡住
  • ¥20 关于#监控系统#的问题,如何解决?(相关搜索:系统软件)
  • ¥20 c语言写的8051单片机存储器mt29的模块程序
  • ¥60 求直线方程 使平面上n个点在直线同侧并且距离总和最小
  • ¥50 java算法,给定试题的难度数量(简单,普通,困难),和试题类型数量(单选,多选,判断),以及题库中各种类型的题有多少道,求能否随机抽题。