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

加法与乘法组合问题求助:输入大于1正整数,输出和为该数的有序数对

相加等于目标数的有序数对解决方案

核心思路

对于输入的正整数n(n>1),所有满足a + b = n的正整数有序数对(a,b),只需要遍历1到n-1的所有正整数作为a,对应的b直接用n - a计算即可。因为是有序数对,(a,b)和(b,a)会被视为两个不同的结果,无需去重。

Python 代码实现

n = int(input("请输入一个大于1的正整数:"))
if n <= 1:
    print("输入必须大于1")
else:
    result = []
    for a in range(1, n):
        b = n - a
        result.append(f"({a}, {b})")
    print("、".join(result))

效果验证

输入7时,输出为:(1, 6)、(2, 5)、(3, 4)、(4, 3)、(5, 2)、(6, 1),和你给出的示例内容完全一致(示例只是打乱了顺序,所有数对都包含在内)。

补充说明

  • 如果输入的数是2,会输出(1, 1),符合1+1=2的要求
  • 代码里的判断逻辑确保输入符合题目要求(大于1的正整数),避免无效输入导致错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 15:35:25