我是python新手,我正在尝试从数组中找出素数的最大序列。 我写了一个函数来计算一个数是素数还是非素数,并用它来寻找一个数组中素数的最大序列。你知道吗
例如:
数组1=[1,2,5,4,2,2,3,4]
对于这个数组,素数的最大序列是2,2,3。 为了解决这个问题,我尝试使用以下方法:
def primeSequence(s):
l=[]
k=[]
j=0
for i in range(1,len(s)+1):
if isPrime(s[i]):
l.append(s[i])
else:
break
print(l)
k.append(l)
print(k);
基本上,我检查了数组,看这个数是不是素数。如果是,我将它存储在一个数组中。然后我将它存储在另一个数组中,最后计划遍历k个数组,找出哪个数组最大。你知道吗
问题是for循环在找到4(不是素数)时中断,我不知道如何从该点再次遍历数组。。 我不确定我是否足够清楚。。有什么建议吗?谢谢。你知道吗
这样就可以了。你知道吗
没什么。要查找max序列,需要将当前max序列的值存储在另一个变量中,并检查当前序列
len
是否大于max序列len
。else
部分用作当前素数序列已结束的标记,这是检查当前素数序列是否为较大序列的地方。你知道吗相关问题 更多 >
编程相关推荐