| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 942 人关注过本帖
标题:关于求100-200之间的素数几个小问题。
只看楼主 加入收藏
longhu945
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-3-23
结帖率:100%
收藏
 问题点数:0 回复次数:3 
关于求100-200之间的素数几个小问题。
#include<stdio.h>
#include<math.h>

void main()
{
    int m,i,k,n=0;
    for(m=101;m<200;m=m+2)//m=m+2是什么意思。怎么理解?
    {
        k=sqrt(m);
        for(i=2;i<=k;i++)
        {
            if(m%i==0)
            {
                break;
            }
        }
            if(i>=k+1)
            {
                printf("%5d",m);
                n=n+1;
            }
        if(n%10==0) // 为什么这个换行 要10个数换一次。
            {
                printf("\n");
            }
            
    }
}
搜索更多相关主题的帖子: include 
2016-03-24 11:03
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
1. 偶数肯定不是素数,所以每次间隔2来判断;
2. 所有的数打一行太多,就要换行
2016-03-24 11:08
longhu945
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-3-23
收藏
得分:0 
回复 2楼 grmmylbs
#include<stdio.h>
#include<math.h>

void main()
{
    int m,i,k,n=0;
    for(m=101;m<200;m=m+2)/*这里m赋初值是101奇数,因为偶数是不可能是素数
                          所以这里m+2就排除了所有之内的偶数。*/
    {
        k=sqrt(m);
        for(i=2;i<=k;i++)//这里表示什么?
        {
            if(m%i==0)//这里表什么?
            {
                break;
            }
        }
            if(i>=k+1)//这里又表示什么
            {
                printf("%5d",m);
                n=n+1;
            }
        if(n%10==0)
            {
                printf("\n");
            }
            
    }
}
2016-03-24 15:30
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
#include<stdio.h>
 #include<math.h>

 void main()
 {
     int m,i,k,n=0;
     for(m=101;m<200;m=m+2)/*这里m赋初值是101奇数,因为偶数是不可能是素数
                          所以这里m+2就排除了所有之内的偶数。*/
     {
         k=sqrt(m);
         for(i=2;i<=k;i++)//i从2到k(m的平方根)
        {
             if(m%i==0)//m能被i整除
            {
                 break;
             }
         }
             if(i>=k+1)//上面的循环完了(2到k挨个除了一遍),没有找到能整除的i,说明m是素数            {
                 printf("%5d",m);
                 n=n+1;
             }
         if(n%10==0)
             {
                 printf("\n");
             }
            
     }
 }
收到的鲜花
  • longhu9452016-03-24 16:01 送鲜花  3朵   附言:我很赞同
2016-03-24 15:39
快速回复:关于求100-200之间的素数几个小问题。
数据加载中...
 
   



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

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