用python输出1000以内所有的质数,python中输出100-200的质数
我以为这是个简单的问题,没想到还有这种游戏(我看的太少了,我用十行代码来惩罚自己)。
原文链接:https://www.cnblogs.com/monster-prince/p/6043700.html
筛选方法:/*先把N个自然数按顺序排好。1不是质数,也不是合数,所以划掉。第二个数2是质数,2之后所有能被2整除的数都划掉。2后面第一个没被划掉的数字是3。留下3,划掉3之后所有能被3整除的数。3后面第一个没被划掉的数字是5。留下5,划掉5之后所有能被5整除的数字。如果你一直这样做,你会筛选出所有不超过n的合数,剩下所有不超过n的质数.因为希腊人把数字写在涂蜡板上,每划掉一个数字,就用小圆点标记出来。求素数的工作做完后,很多小点像筛子一样,于是他们形象地把ssdhs方法称为“ssdhs筛子”,简称“筛选法”。*/# includesdio . h # define MAX 101 int main(){ int n[MAX];int i,j;for(I=1;iMAXI){ n[I]=1;} n[1]=0;//1不是(i=2的素数;iMAXI){ if(n[I]==1){ for(j=I I;jMAXj=I)n[j]=0;} } for(I=1;iMAXi ) { if(n[i]!=0) printf(%d ,I);}返回0;}
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。