首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Legendre(未解)猜想

Legendre(未解)猜想
EN

Code Golf用户
提问于 2020-07-31 05:56:32
回答 6查看 3.4K关注 0票数 28

勒让德猜想是一个关于素数分布的未经证明的陈述;它断言在区间(n^2,(n+1)^2)中至少有一个素数用于所有自然的n

挑战

做一个程序,只有在Legendre的猜想是错误的情况下才停止。等价地,如果存在n,则程序将停止运行,这证明了猜想的正确性。

规则

  • 这是密码-高尔夫,所以以字节为单位的最短程序获胜。
  • 程序不得接受任何输入。
  • 在理论上,程序只需要停止或不停止;内存和时间限制将被忽略。
  • 人们可以使用其他方法,而不是检查每一个n,如果他们可以证明他们的程序仍然会停止,如果勒让德的猜测是错误的。
EN

回答 6

Code Golf用户

发布于 2020-07-31 06:56:06

果冻,9字节

代码语言:javascript
复制
²+æR$Ṇµ2#

在网上试试!

-1字节,多亏了凯恩斯的共同继承

-1字节多亏了乔纳森·艾伦

票数 7
EN

Code Golf用户

发布于 2020-07-31 13:30:33

果冻,7 字节数

代码语言:javascript
复制
‘ɼ²ÆCµƬ

如果猜测是错误的,那么一个niladic链接将在2k^2之间产生一个素数列表,其中k是元素的基于零的索引(尽管零索引元素将是None而不是0)。列表中的最后一个值将是2n^2之间素数的计数(下一个项将是2(n+1)^2之间的计数,等于)。

注意:由于这使用了果冻的一个与之相关的内建,这需要接受底层实现的(同情's)的素数检查,并且help(sympy.ntheory.isprime)声明.如果的数字大于2^64,执行强BPSW测试。虽然这是一个可能的素数测试,我们认为存在反例,但没有已知的反例)。

在网上试试!

怎么做?

收集2(k+1)^2之间的素数,从k=0开始,直到通过附加结果而出现重复为止。这意味着(k+1)^2(k+2)^2之间没有新的素数(即n^2(n+1)^2)。最后的结果(如果有的话)将有一个前导的None --执行计数的函数的初始输入。

代码语言:javascript
复制
‘ɼ²ÆCµƬ - Link: no arguments
      Ƭ - collect up (the initial input (None) and each result) until repetition:
     µ  -   apply the monadic chain - i.e. f(x=previousResult):
 ɼ      -     recall (k) from the register (initially 0), apply, store back, and yield:
‘       -     increment -> k+1
  ²     -     square -> (k+1)²
   ÆC   -     count primes from 2 to (k+1)² inclusive
票数 7
EN

Code Golf用户

发布于 2020-07-31 16:19:47

05AB1E,11字节

第一次尝试:

代码语言:javascript
复制
[N>nÅMNn‹#]

修正(在@ovs注释之后):

代码语言:javascript
复制
[NÌnÅMN>n‹#

解释:

代码语言:javascript
复制
[NÌnÅMN>n‹# 
[                     Infinite Loop
 N                    Current loop index (starts from 0 to Infinity)
  Ì                   add 2 ( we want to start from N=1 instead of N=0)
   n                  Squaring - (N+1)**2
    ÅM                Find the previous prime. Highest prime less than (N+1)**2
      N>               Push Current loop index + 1
        n              Squaring - N**2
         ‹             Does  Highest prime less than (N+1)**2 < N**2  ?
          #            If true, break the loop

在网上试试!

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

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

复制
相关文章

相似问题

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