首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >算法-找到一系列的索菲热尔曼素数

算法-找到一系列的索菲热尔曼素数
EN

Stack Overflow用户
提问于 2017-04-14 20:51:53
回答 1查看 540关注 0票数 0

我有一个关于索菲·杰曼相关算法的问题,我很想知道。

Q是这样的:如果素数p也是素数,则它被定义为'Sophie素数‘。例如,23是苏菲热尔曼素数,因为47是素数。47不是索菲杰曼素数,因为95不是素数。

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

a. a1 =p

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

c. ai是苏菲日耳曼素数(每1 <= i <= m),但2am +1不是苏菲日耳曼素数。

例如,如果是p=2,输出将是2, 5, 11, 23

我考虑了下面的算法。

代码语言:javascript
运行
复制
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 < b)的算法,并检查在a.b之间是否有一个苏菲日耳曼素数。

不知道该怎么解决这个问题。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2017-04-14 21:19:21

这句话是错的:

代码语言:javascript
运行
复制
     1.2. p <- 2p+1

它应该缓慢地遍历每一个整数,如p <- p+1

如果不访问3(素数),您不会想从p=2转到2p+1=5

并添加一个while条件(如和p<=m )来限制无限循环,并在循环中使用如果p是素数而不是2p+1是素数打印p的话。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43419076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档