| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 926 人关注过本帖
标题:新手求教,素数问题,应该怎么填。
只看楼主 加入收藏
b68313075
Rank: 1
等 级:新手上路
帖 子:10
专家分:3
注 册:2013-9-14
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
新手求教,素数问题,应该怎么填。
#include <stdio.h>
void main()
{
    int n,i,j;
    printf("Input n:");
    scanf("%d",&n);
    printf("以下是小于%d的素数:\n",n);
    /*列举2~n之间的所有数*/
    for(i=2;_______;i++)
    {   /*下面这个循环判断i是否是素数*/
        for(j=2;________;j++)
        {    /*如果i能够被j正处,就意味着i不是素数,循环可以提前终止*/
             if(i%j==0)_______
        }
        /*满足括号中的条件意味着n是素数,则输出*/
        if(_____) printf("%d\n",i);
    }
    printf("\n");
}
书上的习题,让我抓狂了很长时间,希望各位高手给填一下
搜索更多相关主题的帖子: include 
2013-09-14 18:06
jg658237
Rank: 7Rank: 7Rank: 7
来 自:青藏高原
等 级:黑侠
帖 子:224
专家分:529
注 册:2013-8-8
收藏
得分:5 
#include <stdio.h>
void main()
{
    int n,i,j;
    printf("Input n:");
    scanf("%d",&n);
    printf("以下是小于%d的素数:\n",n);
    /*列举2~n之间的所有数*/
    for(i=2;_i<=n______;i++)
    {   /*下面这个循环判断i是否是素数*/
        for(j=2;j<sqrt(n);j++)
        {    /*如果i能够被j正处,就意味着i不是素数,循环可以提前终止*/
             if(i%j==0)__printf("i is not sushu");
                break;
        }
        /*满足括号中的条件意味着n是素数,则输出*/
        if() printf("%d\n",i);
    }
    printf("\n");
}
收到的鲜花
  • b683130752013-09-15 14:12 送鲜花  2朵   附言:原创内容

武功再高也怕菜刀.
2013-09-14 18:28
b68313075
Rank: 1
等 级:新手上路
帖 子:10
专家分:3
注 册:2013-9-14
收藏
得分:0 
回复 2楼 jg658237
if(______) printf("%d\n",i);里面填什么啊
2013-09-14 18:33
jg658237
Rank: 7Rank: 7Rank: 7
来 自:青藏高原
等 级:黑侠
帖 子:224
专家分:529
注 册:2013-8-8
收藏
得分:0 
回复 2楼 jg658237
if(n%i==0)

武功再高也怕菜刀.
2013-09-14 18:38
b68313075
Rank: 1
等 级:新手上路
帖 子:10
专家分:3
注 册:2013-9-14
收藏
得分:0 
回复 4楼 jg658237
貌似和答案不一样
2013-09-14 18:46
guhemeng
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:100
专家分:165
注 册:2013-7-27
收藏
得分:10 
i<n   j<i   i==j   先弄明白满足什么样条件的数才是素数。     素数只能被1和自己本身整除,那OK,答案自然就出来了!
            
 for(i=2;_______;i++)           //既然是要找到  printf("以下是小于%d的素数:\n",n); 即少于n的素数,那当然得 i<n,如果要判断n是否是素数,那就i<=n;
    {   /*下面这个循环判断i是否是素数*/
        for(j=2;__j<i___;j++)     //即要满足i 不能被 从2 到i-1 之间的任何数值整除才是素数,如果能够被任意数值整除,即不是素数,用break 跳出当层循环。
        {    /*如果i能够被j正处,就意味着i不是素数,循环可以提前终止*/
             if(i%j==0)__break;_____                     // break 的作用,楼主知道吗???  continue 是啥子意思呢???  return  又是啥意思???
        }
        /*满足括号中的条件意味着n是素数,则输出*/        //楼主想一下,在满足什么情况下,才会执行下面这条语句呢???
        if(__i == j___) printf("%d\n",i);
    }
收到的鲜花
  • b683130752013-09-15 14:11 送鲜花  3朵   附言:我很赞同
2013-09-14 19:44
guhemeng
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:100
专家分:165
注 册:2013-7-27
收藏
得分:0 
  思路比结果更重要,当然思路清晰了,结果自然就出来了~~~~~~~~~~
2013-09-14 19:45
爱她永远
Rank: 2
等 级:论坛游民
帖 子:14
专家分:19
注 册:2013-6-9
收藏
得分:5 
#include <stdio.h>
void main()
{
    int n,i,j;
    printf("Input n:");
    scanf("%d",&n);
    printf("以下是小于%d的素数:\n",n);
    /*列举2~n之间的所有数*/
    for(i=2;_i<=n______;i++)
    {   /*下面这个循环判断i是否是素数*/
        for(j=2;_j<=i-1_______;j++)
        {    /*如果i能够被j正处,就意味着i不是素数,循环可以提前终止*/
             if(i%j==0)_______
        }
        /*满足括号中的条件意味着n是素数,则输出*/
        if(_j>i/2____) printf("%d\n",i);

    }
    printf("\n");
}
这样写就可以了。。。。。。。。。。。!!
收到的鲜花
  • b683130752013-09-15 14:12 送鲜花  3朵   附言:我很赞同
2013-09-14 22:59
wkz2012
Rank: 4
等 级:业余侠客
帖 子:123
专家分:253
注 册:2012-12-13
收藏
得分:0 
推荐2楼的程序,当n很大时,明摆中代码循环次数要少,时间复杂度要小很多

我了个去的编程!
2013-09-15 00:06
czzdcn123
Rank: 7Rank: 7Rank: 7
来 自:江西
等 级:黑侠
威 望:3
帖 子:258
专家分:510
注 册:2013-3-7
收藏
得分:0 
答案都写出来了
2013-09-15 00:57
快速回复:新手求教,素数问题,应该怎么填。
数据加载中...
 
   



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

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