#include<bits/stdc++.h> using namespace std; #define maxn 10000 int p[maxn]; int prim[maxn]; int main(){ memset(p,0,sizeof(p)); //p数组归零 int n=1,i,j; prim[0]=1; for(i=2;i<maxn;i++){ if(!p[i]){ prim[n++] = i; } if(i) for(j=2;i*j<maxn;j++) p[i*j] = 1; } for(i=0;i<n-1;i++) printf("%04d ",prim[i]); return 0; }
第一次写csdn的博客,没什么经验,求看官包涵.内容呢,是新手acmer'的噩梦(起码对我来说是这样的,可能是我比较菜 - -!)第一行是一个比较特殊的头文件#include<bits/stdc++.h>,听各路大佬说这个头文件海纳百川(吊的不行)(http://blog.csdn.net/u013446688/article/details/39033507)里面包括各种各样的头文件里的函数,比如什么:#include<stdio.h>#include<string.h>#include<algorithm>.....对新人超级友好有木有!
btw,这也是我第一次用.
#define xxx xxx是定义一个常量,比如在本代码中就是定义 常量 maxn 为10000,别问我为什么是maxn,大佬们都是这么写的.接下来定义俩个 整形 数组进入主函数,memset函数是用来将一个数组全部变为一个数,但一般都是归零,变成其他数字容易出问题.然后就是素数筛的代码实现,可以自己试着理解,不是很难.红色字体是一些比较精简的写法,建议掌握.最后就是输出了.
The end.喜欢你就点个关注嘛