摘要:
问题描述:使用筛法求质数。有一个很神奇的筛子,可以给它一个数i,这个筛子有办法把i的所有倍数去掉。请用这个方法求出2到N之间的所有质数。要求,程序不能使用乘法和除法,只能用加或减,以求加快速度。 该问题的思路来自《C语言名题精选百则技巧篇》,很惭愧,我对这样的涉及一些数学知识的题很少有解决的办法,我需要在这一方面加强。 我把书中的思路归纳如下,并加上了我自己的一些想法。 1. 2的倍数都不是质数,所以不比考虑2的倍数。2是质数,所以考虑的数的集合是 2i+3,i=0,1,2,3,4....... 2. 求质数,只需要处理到num/2就可以了。在程序中MAX为... 阅读全文