【问题标题】:Finding an interval of 100 consecutive composite numbers with Python使用 Python 查找 100 个连续合数的区间
【发布时间】:2014-10-23 17:50:31
【问题描述】:

我正在尝试编写一个可以确定整数 A 的程序,例如 A 和 A+100 之间没有素数 ... 不幸的是,以我平庸的 Python 技能,这就是我能写的全部内容:

for A in range (1,1000000):
    if is_prime(n)==False in range (A,A+3):
        print(A)

如您所见,我首先尝试让它在只有 2 个连续合数的区间内工作。我还使用了一个(工作)函数“is_prime”来确定一个整数是否为素数。

你可以开始骂我无能了!

【问题讨论】:

    标签: python numbers intervals composite


    【解决方案1】:

    出于性能原因,我建议使用筛子式操作。创建一个 X 数列表,标记所有素数,然后寻找一个完整的合数序列。

    【讨论】:

    • 我认为这个性能问题很重要,所以+1;因为这个问题最初是写的,如果我没记错的话,程序将在 n^100 时间内运行(最坏的情况)。
    【解决方案2】:

    你是在正确的球场。只需完成列表理解的其余部分。

    for A in range (1,1000000):
        if all(is_prime(n)==False for n in range (A,A+3)):
            print(A)
    

    风格挑剔:not is_prime(n)is_prime(n) == False 更可取。

    【讨论】:

      猜你喜欢
      • 2015-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-23
      • 1970-01-01
      • 1970-01-01
      • 2023-02-26
      • 2018-05-09
      相关资源
      最近更新 更多