筛选法选100以内的素数!
2013-11-06 16:01
423 查看
筛选法又称筛法,具体做法是:先把N个自然数按次序排列起来。1不是质数,也不是合数,要划去。第二个数2是质数留下来,而把2后面所有能被2整除的数都划去。2后面第一个没划去的数是3,把3留下,再把3后面所有能被3整除的数都划去。3后面第一个没划去的数是5,把5留下,再把5后面所有能被5整除的数都划去。这样一直做下去,就会把不超过N的全部合数都筛掉,留下的就是不超过N的全部质数。因为希腊人是把数写在涂腊的板上,每要划去一个数,就在上面记以小点,寻求质数的工作完毕后,这许多小点就像一个筛子,所以就把埃拉托斯特尼的方法叫做“埃拉托斯特尼筛”,简称“筛法”。(另一种解释是当时的数写在纸草上,每要划去一个数,就把这个数挖去,寻求质数的工作完毕后,这许多小洞就像一个筛子。)
#include<stdio.h> #define MAXN 110 int a[MAXN]; int main(void) { int j,index; a[0]=1; for(index=1;index<=100;index++) a[index]=index; for(index=2;index<=100;index++) for(j=index+1;j<=100;j++) if(a[j]%a[index]==0&&a[index]!=1) a[j]=1; for(index=2;index<=100;index++) if(a[index]!=1) printf("%d ",a[index]); printf("\n"); return 0; }
相关文章推荐
- 用筛选法求100以内的素数
- 用筛选法求100以内的素数(数组)
- 100以内素数判定(筛选法)
- JavaScript使用filter方法实现100以内素数的快速筛选
- 筛选法求100以内的素数
- 用筛选法求100以内的素数问题
- 用筛选法求出100以内的全部素数,并按每行五个数显示。(C#)
- 用筛选法求100以内的素数(数组)
- 筛选法查找100以内的素数
- 一个根据筛选法求出100以内的所有素数的小程序
- 筛选法求100以内的素数
- 用筛选法求100以内的素数
- 用筛选法求出100以内的素数
- 筛选法输出100以内的所有素数
- 求出100以内的所有素数--筛选法和根号法
- 用筛选法求100以内的素数
- 筛选法求100以内的素数
- java求100以内素数的几种方法
- 100以内素数的和
- java算法——打印100以内的素数