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

如何使用Python求解三单数字正整数变量方程的所有整数解

解题思路

你要解的问题约束范围很小(三个变量都是1~9的正整数),最适合入门初学者理解的方法是暴力枚举法:遍历x、y、z所有可能的取值,逐一校验是否满足等式要求,符合条件的就保存为解。
你也可以先对原等式做简化,减少遍历的层数:
原等式 10*x + y = 2*x + 2*y + z 移项后可得 z = 8*x - y,只要保证计算得到的z是1~9的正整数即可,不需要额外遍历z。

实现代码

基础暴力枚举版(最易理解)

# 初始化列表存储所有解
solutions = []
# 遍历所有1位正整数取值:1到9
for x in range(1, 10):
    for y in range(1, 10):
        for z in range(1, 10):
            # 校验是否满足等式
            if 10 * x + y == 2 * x + 2 * y + z:
                solutions.append([x, y, z])
# 打印所有结果
print("所有满足条件的[x,y,z]组合:")
for sol in solutions:
    print(sol)

简化版(减少一层循环)

solutions = []
for x in range(1, 10):
    for y in range(1, 10):
        z = 8 * x - y
        # 校验z是否符合1位正整数的要求
        if 1 <= z <= 9:
            solutions.append([x, y, z])
print("所有满足条件的[x,y,z]组合:")
for sol in solutions:
    print(sol)
运行结果

两段代码运行后得到的结果完全一致,所有符合条件的解如下:

  • [1, 1, 7]
  • [1, 2, 6]
  • [1, 3, 5]
  • [1, 4, 4]
  • [1, 5, 3]
  • [1, 6, 2]
  • [1, 7, 1]
  • [2, 7, 9]
  • [2, 8, 8]
  • [2, 9, 7]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 00:06:08