筛选法求素数

C++ Code

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51
筛法素数产生器



语法:result=prime(inta[],intn);



参数:



a[]:

用于返回素数的数组



n:

产生n以内的素数,按升序放入a[]中



返回值:

n以内素数的个数



注意:







其中W[],B[]已知,W[i]>0且W[i]与W[j]互质, 求a



源程序:







intprime(inta[],intn)

{

inti,j,k,x,num,b;

n++;

n/=
2;

b=(
int)malloc(sizeof(int)(n+1)2);

a[
0]=2;

a[
1]=3;

num=
2;

for(i=1; i<=2n; i++)

b[i]=
0;

for(i=3; i<=n; i+=3)

for(j=0; j<2; j++)

{

x=
2(i+j)-1;

while(b[x]==0)

{

a[num++]=x;

for(k=x; k<=2*n; k+=x)

b[k]=
1;

}

}

returnnum;

}



原文链接: https://www.cnblogs.com/Skyxj/p/3221881.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/97584

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月10日 上午4:20
下一篇 2023年2月10日 上午4:20

相关推荐