return isprime#返回后否是素数(是:True , 否:False)
changelast=lambda listx,addvalue:listx[0:-1]+[addvalue]#改变列表末尾的函数
while len(lists[0] if len(lists) else [0]*n)n:#当素数环长度小于最大数时
n2 = len(lists[0]) #n2为判定 , 理论当前列表长度最大值
for listn in lists:#遍历各个可能的素数环
surplusnum=list(range(1,n+1))#默认值
for j in listn:#遍历当前列表的数
surplusnum.remove(j)#剩余的数中删除此数
for i in surplusnum:#遍历剩余的数
if sumisprime(listn[n2-1], i):#最后一个数与它的和是素数
if len(listn) == n2:#如果现在这个列表是没有被添加过的
listn.append(i)#增加在这个列表
else:#如果该列表已经被添加过
lista = changelast(listn, i)#要加入的列表
if lista not in lists:#如果不在这个列表里
lists.append(lista)#添加到另一个列表
for listn in lists.copy():#防止lists被删造成影响
if len(listn) != n2+1:#如果长度没有达到预期(+1)
lists.remove(listn)#删除该列表(取消此可能性)
if len(lists[0]) == n:#已经符合条件
for listn in lists:#遍历列表,检查首尾
if sumisprime(listn[-1], listn[0]):#如果首尾相加等于素数
print(listn)#环成立,打印出来
break#结束循环
说明:经试验,都没什么问题,n=12也能很快运算完(但我劝你不要打出来),如果你只需要1个素数环,可以把break的缩进调到print(listn)并列 。
关于python计算函数轨迹和python自动轨迹绘制的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 直播间下雪的话题文案,抖音直播间下雪
- 至强e7cpu上什么主板,至强e7性能
- 单机角色扮演电脑游戏,单机角色扮演电脑游戏叫什么
- 阿里云访问国外服务器,国外访问阿里云很慢怎么解决
- go语言基础pdf go语言基础语法
- 老式电脑硬盘怎么改造,老电脑怎么改硬盘模式
- 王者哪些主播在斗鱼直播过,斗鱼王者荣耀大主播有哪些
- Linux命令基本组 linux组管理命令
- c语言的空字符串怎么表示,c语言空字符是什么