| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 502 人关注过本帖
标题:为什么这程序能求2-100素数?求求大神啊!
取消只看楼主 加入收藏
c10868
Rank: 1
等 级:新手上路
帖 子:8
专家分:7
注 册:2013-9-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
为什么这程序能求2-100素数?求求大神啊!
#include <iostream>            
#include <math.h>               
using namespace std;
const int MAX=100;              //定义常量MAX
int main()
{
    int prime[MAX+100]={0};     //定义变量并初始化   定义prime[200]且里面每个都为0
    int i,j,k=sqrt(MAX);
    for(i=2;i<=k;i++)           //枚举筛数         上行k=10  i就是2到10递增
    {
        if(prime[i]==0)         //这里所有的数组都符合这条件,关键是下面的筛选
        {
            j=i*2;              //将原数扩大二倍初始化给j   这里所有的j都能被i整除不是素数
            do
            {
                prime[j]=1;     //将j筛选掉      把数组里所有下标能被i整除的赋值1 不能整除的还是0      
                j+=i;           //再扩大一倍
            }
            while(j<=MAX);      //循环条件      j是2到100递增
        }
    }
    for(i=2,j=0;i<=MAX;i++)     //                 i是2到100递增
    {
        if(prime[i]==0)        //循环输出       这里把上面不能整除的0的数组的下标输出
        {
            if(j%5==0)         //一行输出5个数
                cout<<"\n";
            cout<<i<<" ";
            j++;
        }
    }
    cout<<endl;
    return 0;                  //这程序经过测试确实能输出2到100的素数(也就是质数)
    }                          //素数就是不能被2到本身的平方根整除


[ 本帖最后由 c10868 于 2013-9-7 00:41 编辑 ]
搜索更多相关主题的帖子: include 
2013-09-06 14:39
c10868
Rank: 1
等 级:新手上路
帖 子:8
专家分:7
注 册:2013-9-5
收藏
得分:0 
这个求素数我可以用好几种方法,但是就是这个看不懂,不知道这是怎么筛出了素数。
重要的不是解决素数问题,是这个程序的思路或它所引用的方法。
如果你能看明白但说不出来,我想你肯定是高手。如果你能看有说出来那你真的是大神了。
当然的我语法不怎么样毕竟我是新手学这没几天,你没有权利更没有议务为我解答我理解。
最后还是希望有大神帮解答,不要求我这新手太懂,一般的人能看懂就行了。
2013-09-06 16:07
c10868
Rank: 1
等 级:新手上路
帖 子:8
专家分:7
注 册:2013-9-5
收藏
得分:0 
最后我会多发几个论坛,希望能找到答案。当然如果确实没有答案,我也不强求。我想只要我一直坚持学下去总有一天会明白的。
2013-09-06 16:11
c10868
Rank: 1
等 级:新手上路
帖 子:8
专家分:7
注 册:2013-9-5
收藏
得分:0 
回复 2楼 peach5460
高手有高手的高傲,我理解.但新手也有新手的执着.
2013-09-06 16:16
c10868
Rank: 1
等 级:新手上路
帖 子:8
专家分:7
注 册:2013-9-5
收藏
得分:0 
基本明白,谢谢大神解答。
2013-09-06 18:23
快速回复:为什么这程序能求2-100素数?求求大神啊!
数据加载中...
 
   



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

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