欢迎来到天天文库
浏览记录
ID:51687556
大小:75.49 KB
页数:2页
时间:2020-03-15
《C语言求素数(质数)Eratosthenes经典算法.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、//使用Eratosthenes方法找出指定范围内的所有质数#include#defineSIZE500//该方法能够求出2*SIZE之内的质数#defineTRUE1#defineFALSE0intmain(){charsieve[SIZE];/*thesieve*/char*sp;/*pointertoaccessthesieve*/intnumber;/*numberwe’recomputing*//***SettheentiresievetoTRUE.*/for(sp=sieve;sp<&sieve[SIZE];)*sp++=TRU
2、E;/***Processeachnumberfrom3toasmanyasthesieveholds.(Note:the**loopisterminatedfrominside.)*/for(number=3;;number+=2){/***Setthepointertotheproperelementinthesieve,andstop**theloopifwe’vegonetoofar.*/sp=&sieve[0]+(number-3)/2;if(sp>=&sieve[SIZE])break;/***Nowadvancethepointerbymulti
3、plesofthenumberandset**eachsubsequententryFALSE.*/while(sp+=number,sp<&sieve[SIZE])*sp=FALSE;}/***Gothroughtheentiresievenowandprintthenumberscorresponding**tothelocationsthatremainTRUE.*/printf("2t");for(number=3,sp=&sieve[0];sp<&sieve[SIZE];number+=2,sp++){if(*sp)printf("%dt",nu
4、mber);}system("pause");returnEXIT_SUCCESS;}
此文档下载收益归作者所有