| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1789 人关注过本帖
标题:新人求助,求出m~n之间的所有素数
只看楼主 加入收藏
风飘扬
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-11-12
收藏
 问题点数:0 回复次数:4 
新人求助,求出m~n之间的所有素数
Description

编程求出m~n之间的所有素数,m,n为正整数。编写函数isPrime判断一个数是否为素数

Input

m和n

Output

按照从小到大的顺序输出所有m和n之间的素数,以空格分隔
搜索更多相关主题的帖子: 素数 新人 
2008-11-12 17:15
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
m-n较小且m,n较大 -〉mr测试
m-n较大且m,n不过大 -〉筛法

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-11-12 17:40
风飘扬
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-11-12
收藏
得分:0 
m n 并不知道,要Input m,n
例如
Sample Input


100 120

Sample Output


101 103 107 109 113

目前正在学习函数,所以要用函数来做,用一个函数判断一个数是否为素数,如果为素数就在main函数中输出

我编了这个
#include<stdio.h>
#include<math.h>
int main()
{
    int isPrime(int m,int n);
    int m,n,j;
    scanf("%d %d",&m,&n);
    j=isPrime(m,n);


}
isPrime(int m,int n)
{
    int i,j,k;
    for(j=m;j<=n;j++)
    {
        k=sqrt(m);
        for(i=2;i<=n;i++)
        if(j%i==0)break;
        if(i>k)
            printf("%d ",j);
    }
}

但是好像达不到题目要求。是否可以改为isPrime函数判断素数,是素数则return(1),并在main函数中采用
if(isPrime( )),if为真则输出该数。
我的想法是这样的,但是一用到return头脑就有点乱了,所以想请教一下大家~
2008-11-12 17:50
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
我是从算法效率角度说的,如果你初学编程,还是用两层循环判断吧

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-11-12 17:52
风飘扬
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-11-12
收藏
得分:0 
现在初学,所以先不考虑效率吧,正在学习函数部分,所以想用函数实现
2008-11-12 17:54
快速回复:新人求助,求出m~n之间的所有素数
数据加载中...
 
   



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

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