新人第一篇!!!!!!!!(乱七八糟的素数筛)

#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.喜欢你就点个关注嘛 


猜你喜欢

转载自blog.csdn.net/qq_41009682/article/details/78794072