You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python基础语法(限if/for/print等)生成1000以内孪生素数?

1000以内孪生素数生成方案(符合指定语法限制)

针对你需要仅用for、if、print等基础语法生成孪生素数,且原代码在1000以内失效的问题,以下是适配的实现:

代码实现

for p in range(2, 999):
    # 统计p的因数个数(仅判断到平方根范围)
    p_factor_count = 0
    for i in range(2, int(p**0.5) + 1):
        if p % i == 0:
            p_factor_count += 1
    # 统计p+2的因数个数
    q = p + 2
    q_factor_count = 0
    for j in range(2, int(q**0.5) + 1):
        if q % j == 0:
            q_factor_count += 1
    # 若两者均无额外因数,即为孪生素数对
    if p_factor_count == 0 and q_factor_count == 0:
        print(f"({p}, {q})")

关键改进说明

  • 动态素数判断逻辑:不再固定素数判断的上限(比如原代码可能仅检查到10),而是对每个数计算其平方根,仅遍历到平方根的整数部分+1的范围。由于一个数的大于平方根的因数必然对应一个小于平方根的因数,这种方式能覆盖所有可能的因数,确保1000以内的数都能被正确判断素性。
  • 语法严格合规:全程仅使用允许的基础语法,未涉及while、def、break等受限语句。
  • 合理遍历范围:将p的遍历上限设为998,保证p+2不超过1000,完整覆盖所有符合要求的孪生素数对。

内容的提问来源于stack exchange,提问作者Jimmy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 15:45:43