2016 - 2024

感恩一路有你

93是质数还是合数 怎样用筛选法找3的倍数?

浏览量:3004 时间:2021-03-13 10:55:48 作者:admin

怎样用筛选法找3的倍数?

筛选法,也称为筛选法,是一种查找所有不超过自然数n(n>1)的素数的方法。

具体方法是:先按顺序排列n个自然数。

1不是素数或复合数,因此应将其划掉。

第二个数字2是一个素数,所有在2之后可以被2整除的数字都被划掉。

2之后未划掉的第一个数字是3。留下3,然后划掉所有可以被3整除的数字。

3之后未划掉的第一个数字是5。留下5,然后划掉所有能被5除的数字。

如果我们一直这样做,我们将筛选出所有不超过n的组合数,留下所有不超过n的素数。

筛选法,数学?

筛选方法,也称为筛选方法,是一种查找所有不超过自然数n(n>1)的素数的方法。据说它是由古希腊的埃拉托什尼发明的,也叫埃拉托什尼筛。具体方法是:先排列n个自然数。1不是素数或复合数,所以应该将它划掉。第二个数字2是素数,所有在2之后可以被2整除的数字都被划掉。在2之后没有划掉的第一个数字是3。留下3,然后划掉所有可以被3整除的数字。在3之后没有划掉的第一个数字是5。留下5,然后划掉所有能被5除的数字。如果我们一直这样做,我们将筛选出所有不超过n的组合数字,留下所有不超过n的素数。因为希腊人在打蜡板上写数字,每次划掉一个数字,他们都会在上面写上小点。寻找素数的工作完成后,许多点像一个筛子,所以埃拉托斯坦的方法被称为“埃拉托斯坦筛子法”,简称“筛子法”。(另一种解释是,当时的数字是写在纸上的。每次划掉一个数字,就把它挖出来。搜索素数的工作完成后,许多小孔就像一个筛子。)

如何用筛选法求1000000以内的素数?

#Include<stdio。H>

intprime[501

]main()

{

inti,J,C=2

printf(“-4D%-4D”,0,1)/*手动输出0和1,因为这两个不能被筛选出来*/

for(I=2I<=500i)

{

if(!素数[i])/*0表示素数*/]{

printf(“-4D”,i)

if(C ==0)printf(“n”)/*10换行符*/

for(J=i*ij<=501j=i)Prime[J]=1/*筛选出这个素数的倍数*/]}]返回0]}

93是质数还是合数 质数的简便背法 质数筛法

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。