| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1328 人关注过本帖
标题:素数啊,素数。求素数的题目
取消只看楼主 加入收藏
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
结帖率:84.38%
收藏
已结贴  问题点数:20 回复次数:12 
素数啊,素数。求素数的题目
求20以内的素数,怎么一下子就崩溃了???神马意思---------------------------------经过楼下几位的指点,终于改正确了。
#include"stdio.h"
int main(){
int i,j;
for(i=3;i<=20;i++)
  {
  for(j=2;j<=i;j++)
    {
  if(i%j==0) break;
     }
  if(j==i)  
  printf("素数有:%d\n",i);

   }

}


[ 本帖最后由 a271885843 于 2012-1-15 19:08 编辑 ]
搜索更多相关主题的帖子: 神马 include 
2012-01-15 16:55
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用TonyDeng在2012-1-15 16:57:59的发言:

總犯低級錯誤,需要好好反思了!
那我看看。先别说

认为事物非黑即白是缺智慧的表现……
2012-01-15 16:59
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用TonyDeng在2012-1-15 16:57:59的发言:

總犯低級錯誤,需要好好反思了!
,确实没找着。

认为事物非黑即白是缺智慧的表现……
2012-01-15 17:07
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用TonyDeng在2012-1-15 17:08:16的发言:

if(i=j)
這是判斷啥?

下次沒找著,就單步跟蹤!
噢。确实....还是不行,还是要崩溃,除这错误以外,可能是算法的问题

认为事物非黑即白是缺智慧的表现……
2012-01-15 17:13
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用TonyDeng在2012-1-15 17:14:56的发言:

跟蹤過自然知道問題在哪裡
编译器有问题,重启之后,能编译通过。没输出结果,算法有问题,没有崩溃--------------------------OK了,能运行, if(i>=j) 就行了。不过随着FOR循环要输出好多,还得改进.....奶奶的,刚才都可以运行,现在又没法运行了,完全一样的程序,我日。

[ 本帖最后由 a271885843 于 2012-1-15 17:33 编辑 ]

认为事物非黑即白是缺智慧的表现……
2012-01-15 17:28
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用TonyDeng在2012-1-15 17:33:37的发言:

你的算法當然有問題,自己好好調試吧。循環結束標誌有問題,輸出的位置也有問題。
這個算法是最基本的死算法,求素數有許多算法,弄清楚一個之後再弄別的。你這裡有很基本的邏輯問題,不解決它,是很難進步的。
嗯。这周就先把这个弄了再说,刚刚看到的算法,主要训练的是break和countue俩个用法,不过算法貌似简单,还是很伤脑袋的。

认为事物非黑即白是缺智慧的表现……
2012-01-15 17:36
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
这个题目如果我能做的话,可能还要一段时间才行.....现在确实....

认为事物非黑即白是缺智慧的表现……
2012-01-15 18:40
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
完成应该能完成,时间可能超限很多

认为事物非黑即白是缺智慧的表现……
2012-01-15 20:19
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
参考比人的,然后根据自己的理解---------------
#include"stdio.h"
int main(){
int sz[1000];
      sz[0]=0;
      sz[1]=0;
int i,l=2;
 for( i=2;i<=998;i++)
     {
       sz[i]=1;
     }
 for(i=2;i<=998;i++)
   {
       if(sz[i])
       {
            l=2;/*改进了一下,把l=2加进来,以前没有加l=2,也算出一堆来数来,貌似只有加了l=2才是对的*/
           for(int k=2;k<=998;k=i*(l++))
           {
               sz[k]=0;
           }
       }
   }
  for(i=0;i<=998;i++)
   {
       if(sz[i])
        printf("%d\t",i);
   }
      
 return 0;   
     
     }
     

      
  


[ 本帖最后由 a271885843 于 2012-1-16 12:11 编辑 ]

认为事物非黑即白是缺智慧的表现……
2012-01-15 21:25
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用shixiaochi在2012-1-16 04:32:53的发言:

#include
int main(void)
{
int i,j;

for(i=1;i<=20;i++)     // i 初始化为1
  {
       for(j=2;j<=i;j++)  //到 j = 2;执行完之后 i++执行 结果变为i == 2  (这么改对吗?)
       {
         if(i%j==0)
         break;
        }
  if(j==i)  
  printf("素数有:%d\n",i);

   }

}
我是个初学者,我分析了这个算法也没错啊,因为自己电脑坏了,使别人电脑,没编译器所以不能试
#include
int main(void)
{
int i,j;

for(i=1;i<=20;i++)     // i 初始化为1
  {
       for(j=2;j<=i;j++)  //到 j = 2;执行完之后 i++执行 结果变为i == 2  (这么改对吗?)
       {
         if(i%j==0)
         break;
        }
  if(j==i)  
  printf("素数有:%d\n",i);

   }

}
我是个初学者,我分析了这个算法也没错啊,因为自己电脑坏了,使别人电脑,没编译器所以不能试
//就这题来讲,比如j从2开始的,那么当i<2的时候,都是不执行第二个嵌套循环,当i=2的时候,判断j<=2,那么i%j==0成立,break执行下一句,因为素数只能被1和自身整除,所以如这题,在1,2....20中,如果有i/j能被整除,当j<i的时候,除开1和本身有能整除i的数,就不是素数了,当i==j的时候,说明,只有1和i自身能整除,所以是素数,因为任何数都能被1整除,所以j从2开始。我是这样理解的,不晓得你看的明白不

认为事物非黑即白是缺智慧的表现……
2012-01-16 11:30
快速回复:素数啊,素数。求素数的题目
数据加载中...
 
   



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

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