首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

求解素数筛选

题目:请编写代码找出1-120之间的素数。 关于求一个范围内的素数,有两种方法,一个是试除法,一个是筛选法。 本文章主要介绍筛选法。 筛选法是将不是素数的数全部去除,然后得到余下的数来达到目的。...假设一个数组is_prime[],is_prime[i]存储prime[i]是否是素数 ,是则存储1, 不是则存储-1。注:is_prime[0]记为-1。 判断prime[i]是否是素数。...然后接下来遇到的第一数不会是被标记过的数,即不是2的倍数,所以它必然只可能被1和他自身整除,为素数,而2后面第一个没有被标记的数是3,所以要标记素数3,再把所有3的倍数也标记起来;        按照上面的判断方法...当is_prime[i]等于1时,prime[i]即为素数....150 int main() { int i = 0,j=0; //数组存储1-120 int prime[Num] = { 0 }; //is_prime[i]存储prime[i]是否是素数

10630

python用递归筛选法求N以内的孪生质数(孪生素数

其中主要用到了计算质数(素数)的方法,搜了一下,排名前几的都是用for循环来做的,感觉略微麻烦了一些,在比较一些还是觉得用递归筛选法来解决这个问题。...新建List,然后从第0位开始,如果后面的能被这个数整除,则从数组中移除改元素,以此类推,最后留下的就是质数(素数)。...python版本与java版本不同,java可以在遍历list的时候删除该元素,可以对循环变量i进行i--的操作,防止以后的get(i)方法报错,python不支持这个操作只能是拿到被删除的元素,然后在遍历结束以后再去删除.../usr/bin/python3 class Test(): def __init__(self): print ("fan") def get(self,list,st...] b = list[i+1] if b-a==2: print ("孪生质数:"+str(a)+"----"+str(b)) 这里备注一下:python

2.6K20
领券