代码截图如下。
这是一个自界说函数TruncatablePrimes,其变量是正整数p,要是p不是素数,则返回一个空列表,要是p是素数,就新建一个包罗p的子列表,并在这个子列内外面反复挪用TruncatablePrimes函数,不外呢,此时TruncatablePrimes的变量,酿成了在p的左边添加一个1到9的数字而形当作的新的数字。
以数字3末端的截断素数,一共有2127个。
TruncatablePrimes[3]//Flatten//Length
以数字3末端的最大截断素数是:
Max[TruncatablePrimes[3]//Flatten]
以数字1末端的截断素数,需要分当作五大类来寻找:
Column[Max[TruncatablePrimes[#]//Flatten]&/@{11,31,41,61,71}]
经由过程列举法可以证实,作者铅笔上的素数是最大的截断素数。
Max[(TruncatablePrimes[#&/@{3,7,9,11,31,41,61,71})//Flatten]
不外,作者在原文给出的寻找最大的截断素数的代码是有疏漏的:
Take[Sort[Flatten[TruncatablePrime/@ Range[9]]], -5]
由于1默认不是素数,以是把1作为TruncatablePrime的变量,将返回一个空列表。这样导致的后果是,在列举截断素数的时辰,以1末端的截断素数被纰漏了。
END0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!