嘿,我正试着写一些代码,用埃拉托斯提尼的筛子来得到素数。使用带有数字的字典来检查范围,当我检查它不是素数时,我将值设置为True。但是有些东西不能正常工作,如果值为True (=已选中),它将再次测试它,而不是跳到下一个数字。我做错了什么?multiples of the prime print x
现在我得到了这个输出
、0.5和1.0倍数的值。, 2.24503765, 2.58179329,这里只保留一些大约是0.25的倍数的值。print('This is reasonably close: ', i, '\n\t for modulus k == ', k, '\n')
仍然需要我做大量的调优(而且我仍然不能过滤
如果x是y的倍数,否则我想把x增加到y的最近的倍数,它大于x(这样所有的x都符合结果)。我刚开始学习C,很难理解其中的一些任务。if(x&(y-1)){ //if not 0 then multiple of y }
任何解释,在幕后发生的数学例子,都会受到极大的赞赏。编辑:因此,为了澄清,我有点理解的位转移,以获得一个项