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

如何直接生成不含0且按绝对值和排序的整数对生成器

无过滤生成符合要求的整数对实现方案

核心思路

  • 两个非0整数的绝对值和最小为1+1=2,因此直接从s=2开始迭代,跳过会产生0的小和场景
  • 遍历分区值i时从1开始,而非原方案的0,从根源避免生成含0的整数对

实现代码

def valid_pair_sums(s=2):
    while True:
        # i从1开始,保证i和s-i都至少为1,不会出现0
        for i in range(1, s//2 + 1):
            # 集合自动去重,所有组合都不含0
            yield from {(i, s-i), (s-i, i), (i-s, -i), (-i, i-s)}
        s += 1

效果验证

调用函数输出的前几项完全匹配期望示例:

(1, 1)
(-1, -1)
(1, 2)
(-1, -2)
(2, 1)
(-2, -1)
[...]

方案优势

  • 无冗余生成:所有产出的整数对天然满足两个元素均不为0的要求,无需额外过滤步骤
  • 顺序严格合规:完全按照两数绝对值的和从小到大排序,和需求排序规则一致
  • 效率更高:跳过了所有会产生0的迭代分支,相比原方案加过滤的实现性能提升明显

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 13:15:04