算法 - 查找一系列Sophie Germain素数

时间:2017-04-14 20:51:53

标签: algorithm

我有一个与Sophie Germain相关算法相关的问题,我很想知道。

问题如下: 素数p定义为'Sophie Germain prime',如果2p+1也是素数。例如,23是Sophie Germain素数,因为47是素数。 47不是苏菲日耳曼素数,因为95不是素数。

1)描述一个获得素数p并返回a1, ... , am的算法,该算法强制执行以下操作:

a。 a1 = p

b。 ai + 1 = 2ai + 1(每1 <= i <= m-1)

c。 ai是Sophie Germain prime(对于每个1&lt; = i&lt; = m)但是2am + 1不是Sophie Germain prime。

例如,如果p = 2,则输出为2, 5, 11, 23

我考虑过以下算法。

CheckGermain (p)

1. While p is prime (according to AKS algorithm) **and** 2p+1 is prime
   1.1. Print p
   1.2. p <- 2p+1
你怎么看?

2)描述一个算法,该算法得到2个自然数a,b(a

不确定如何解决这个问题。 有任何想法吗?

1 个答案:

答案 0 :(得分:0)

这一行错了:

     1.2. p <- 2p+1

它应该缓慢地超过每个整数,如p&lt; -p + 1

  

你不想从p = 2到2p + 1 = 5而没有访问3这是一个主要的

并添加while条件,如p&lt; = m,以限制无限循环 并且在循环内部使用,如果p是素数,那么如果2p + 1是素数打印p