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

求助:使用Sage筛选算术序列中的素数k元组(p,p+2,p+6,p+8)

Sage实现:在算术序列中筛选满足四素数条件的p值

针对序列30n+11的解决方案

要筛选出序列30n+11中满足p、p+2、p+6、p+8均为素数的p值,可直接修改列表推导式的判断条件,批量验证四个数的素性:

# 筛选30n+11序列中符合条件的p值
[p for n in range(30) if all((p + offset).is_prime() for offset in [0, 2, 6, 8]) for p in [30*n+11]]

运行后输出结果为:

[11, 101, 191, 821]

代码说明

  • all((p + offset).is_prime() for offset in [0, 2, 6, 8]):通过all()函数一次性验证p加上四个偏移量后的数是否均为素数,逻辑简洁且效率较高。
  • 外层循环遍历n的范围,内层通过for p in [30*n+11]生成当前序列值,避免重复计算30n+11。

大数算术序列的处理方案

对于类似100000*n + 1234567的大数序列,只需调整序列生成公式和遍历范围即可。Sage默认的素性检测算法(结合Miller-Rabin测试与确定性优化)在处理大整数时性能稳定,不会出现R语言primes包的崩溃问题:

# 处理大数序列100000n+1234567的示例(可根据需求修改range的范围)
start = 1234567
step = 100000
# 遍历n从0到指定上限,这里以100为例
[p for n in range(100) if all((p + offset).is_prime() for offset in [0, 2, 6, 8]) for p in [start + step*n]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 13:42:22