首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >天哪!我们是双胞胎!

天哪!我们是双胞胎!
EN

Code Golf用户
提问于 2016-06-14 00:38:17
回答 3查看 241关注 0票数 2

Introduction

我们将孪生素数定义为两个自然数p,p+2,它们都是素数。

57是孪生素数。

让我们将某些数字集的孪生数定义为该集合中的孪生素数数。

示例:{671113182931}有一个孪生数字4,因为有四个孪生素数:11,1329,31

程序

输入:一个数字n

输出:n以下所有自然数集合的孪生数

评分

这是密码-高尔夫,所以最低字节获胜。

EN

回答 3

Code Golf用户

发布于 2016-06-14 00:44:13

马蒂尔,7字节

代码语言:javascript
运行
复制
qZqd2=s

这个解决方案利用了这样一个事实:素数间隙 (成功素数之间的区别)总是>= 2(除了2和3之间的差距)。由于这个事实,所有的孪生素数都是连续素数。在这个解决方案中,我们只计算所有小于输入n的素数之间的差异,并计算这些差异中有多少等于2。

在网上试试

解释

代码语言:javascript
运行
复制
    % Implicitly grab input, N
q   % Subtract one from the input (N-1)
Zq  % Get an array of all primes <= (N-1)
d   % Compute successive differences (prime gaps)
2=  % Create a boolean array indicating which prime gaps are equal to 2
s   % Count the TRUE values in this array to determine the twin number
    % Implicitly display the result

如果您想要的不是对的数量,而是作为一对的一部分的素数,那么下面的内容就可以了。

代码语言:javascript
运行
复制
qZqt!-|H=az

在网上试试

票数 2
EN

Code Golf用户

发布于 2016-06-14 01:04:19

Jolf,10字节

代码语言:javascript
运行
复制
ZlZd~Bx©{2

在这里试试!

解释

代码语言:javascript
运行
复制
ZlZd~Bx©{2
    ~B     all numbers satisfying
       ©{  the prime condition ("the prime directive"?)
      x    below x
  Zd       (the differences between indices)
Zl       2 count the number of 2's
票数 1
EN

Code Golf用户

发布于 2016-06-14 05:18:08

Ruby,43 +8 (-rprime标志)= 51字节

代码语言:javascript
运行
复制
->n{Prime.each(n-1).count{|i|(i-2).prime?}}
票数 1
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/82852

复制
相关文章

相似问题

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