| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1945 人关注过本帖
标题:程序判断素数,请问为什么会有用例运行超时?
只看楼主 加入收藏
Anado
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2019-11-11
结帖率:33.33%
收藏
已结贴  问题点数:10 回复次数:4 
程序判断素数,请问为什么会有用例运行超时?
程序判断素数,请问为什么会有用例用时超时?
#include<stdio.h>
int prime(int n)
{
    int i,ret=1;
    for(i=2;i<n;i++)
    {
        if(n%i==0)
        {
            ret=0;
            break;
        }
    }
    return ret;
}
int main()
{
    int i,num,isPrime;
    scanf("%d",&num);
    isPrime=prime(num);
    if(isPrime==1)  printf("%s","yes");
    else  printf("%s","no");
    return 0;
}


[此贴子已经被作者于2019-12-18 13:16编辑过]

搜索更多相关主题的帖子: 超时 int 判断 num 素数 
2019-12-18 13:14
c鳌白
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:24
专家分:101
注 册:2019-11-10
收藏
得分:0 
测试了你的代码 好像没问题 能不能说具体一些
2019-12-18 19:39
nxiner
Rank: 1
等 级:新手上路
帖 子:12
专家分:5
注 册:2019-12-19
收藏
得分:5 
应该是类似acm一样的系统运行测试的吧,
他有时间限制的,
代码运算太复杂超出了期望时间。
问题在 if(n%i==0)
         {
             ret=0;
             break;
         }
建议换一种算法,
求余计算和除法运算很“耗时间”。
2019-12-19 15:38
bcbbcclbbc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:194
专家分:528
注 册:2019-8-15
收藏
得分:5 
嗯嗯,同意3楼,这个方法一个数接一个数计算实在是太耗时间了。要想通过,需要筛选一部分数比如偶数,可以找一找什么定理的。。。搜一搜有挺多介绍的
https://bbs.bccn.net/thread-330825-1-1.html#pid1904827
可以看看这个第一条
2019-12-20 10:53
WilsonLA
Rank: 1
等 级:新手上路
威 望:1
帖 子:9
专家分:0
注 册:2020-1-20
收藏
得分:0 
除了2 3 5本身外,其余的素数都不可以被它们三个整除,还有1不是素数,因为不符合基本算数定理
2020-01-20 23:34
快速回复:程序判断素数,请问为什么会有用例运行超时?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016971 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved