[视频]【Mathematica】寻找可截断的素数
更新:2024-04-02 13:33:54优秀经验
Mathematica官方推出一种铅笔,上面写了一个很大的素数:357686312646216567629137。这个素数有一个特点,就是从左到右去掉前面若干个数字,剩下的数字仍旧是素数。作者在文中还给出了一个寻找这种素数的源代码。本文,先来解读作者给出的代码,并利用这个代码,寻找这一类素数。
工具/原料
电脑Mathematica方法/步骤
1/6分步阅读代码截图如下。
这是一个自定义函数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结尾的截断素数被忽略了。

编辑于2018-12-30,内容仅供参考并受版权保护
经验备注
我发现了这篇经验很有用:你也认同《【Mathematica】寻找可截断的素数》的经验分享有价值,就请和朋友们一起分享吧。另外,【Mathematica】寻找可截断的素数的经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。经验知识实用生活指南-解决你所有的生活难题!未经许可,谢绝转载。本文网址:https://www.5058.cn/article/d5a880ebfb88c113f147ccab.html
母婴/教育经验推荐
- Q[视频]怎么表格斜线怎么弄
- Q独家怎么提高学习效率
- Q最近怀孕半个月的症状
- Q精选新生儿打嗝怎么办?
- Q哪的怎样练好钢笔字?
- Q求解答图解胎儿成长过程
- Q如何读书笔记怎么写
- Q帮助下中位数怎么求
- Q收藏钢琴五线谱入门
- Q帮忙怎么写策划书
- Q优秀论文开题报告的书写内容以及格式
- Q为什么怎么提高学习效率
- Q告诉毕业论文任务书怎么写(模板)
- Q为啥怎样用修改符号修改病句
- Q这里怀孕产检全过程(280天孕检时间表)
- Q怎么讲怎样选择优质的外教培训
- Q有什么如何快速背诵课文
- Q要怎么长期玩手机的危害
- Q如果宝宝消化不良拉肚子怎么办
- Q有知道提高生男孩几率的方法?
- Q天水有啥好玩的景点
- Q[视频]什么情况airpods怎么改名字
- Q国家反诈中心支付账户怎么风险查询
- Q王者荣耀如何在世界频道发言
已有 46635 位经验达人注册
已帮助 185721 人解决了问题