如何找到低于10000最长的系列合数?如何只打印最长的系列?

问题描述 投票:0回答:1

这是我的代码:

series = 0

for counter in range (1, 30):
    if counter > 1:
        for i in range (2, counter):
            if (counter % i) == 0:
                series += 1
                break
        else:
            print ("The longest series of composite numbers under 10.000 starts at %d and ends at %d the series is %d long" % ((counter-series), counter, series))
            series = 0

我想它只是给最长的系列打印,我想我需要在一些地方保存可变串联,并检查每个迭代,如果一系列的新值高于以前,和交换,如果它是高,然后就打印一旦。但我无法弄清楚如何有效地存储和交换。

希望这是很清楚

python variables store composite uva
1个回答
0
投票

我用了别人循环和它的工作,这是我的最终代码:

series = 0
b = 0 
a = 0

for num in range (1, 10000):
    for j in range (2, num):
        if (num % j) == 0:
            series += 1
            break 

    else:
        if series > b:
            b = series
            a = num 
            series = 0
        else: 
            series = 0
print ("De langste reeks niet-priemgetallen onder de 10.000 begint op %d en eindigt op %d" % (((a-b), a-1)))   
print ("de reeks is %d lang" % b) 
© www.soinside.com 2019 - 2024. All rights reserved.