求100以内的素数!

来源:互联网 发布:自动驾驶软件开发 编辑:程序博客网 时间:2024/04/20 18:48

 

    1至100这些自然数可以分为三类:

    (1) 单位数:仅有一个数1.

    (2) 素数:这个数大于1,且只有它本身和1这样两个正因数。

    (3) 合数:除了1和他自身以外,还有其他的正因数。

    【代码如下】
 /********************************************************
#include<iostream>
using namespace std;//编译命令
#include<math.h>
const int MAX=100;//定义常量MAX
int main()//主函数
{
    int prime[MAX+100]={0};//定义变量并初始化
    int i,j,k=sqrt(MAX);
    for(i=2; i<=k; i++)//枚举筛数
    {
        if(prime[i]==0)//如果这个数没被筛,就看看
        {
            j=i*2;//将原数扩大二倍初始化给j
            do
            {
                prime[j]=1;//将j筛掉
                j+=i;   //再扩大一倍
            }
            while(j<=MAX);//直到最大
        }
    }
    for(i=2; i<=MAX; i++)
    {
        if(prime[i]==0)//循环输出
            cout<<i<<" ";
    }
    cout<<endl;
    return 0;//主函数结束
}

    【运行结果】

运行结果

原创粉丝点击