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

如何实现两数联动使其和始终等于固定常数X?

实现两数和固定为常数X的自动调整逻辑

核心逻辑

始终维持两个数的关系:

  • 修改数a后,直接赋值 b = X - a
  • 修改数b后,直接赋值 a = X - b

不需要做叠加操作,用固定常数X减去修改后的当前值,直接覆盖另一个数即可。

你之前出错的原因

你提到的“用X减去其中一个数后加到另一个数上”是错误逻辑,这种叠加操作会导致数值不断累积膨胀。比如初始a=30, b=70, X=100,若修改a为45后,错误执行b = b + (X - a)会得到b=70+55=125,此时两数和变成170,后续修改会继续放大数值,最终出现数千的结果。

代码示例

Python 控制台示例

# 固定常数X
X = 100
# 初始化两数,和为X
a = 30
b = X - a

# 修改a后自动调整b
a = 45
b = X - a
print(f"a={a}, b={b}, 和为{a+b}")  # 输出:a=45, b=55, 和为100

# 修改b后自动调整a
b = 20
a = X - b
print(f"a={a}, b={b}, 和为{a+b}")  # 输出:a=80, b=20, 和为100

网页输入框实时调整示例

<input type="number" id="num1" oninput="adjustNum2()">
<input type="number" id="num2" oninput="adjustNum1()">

<script>
const X = 100;
function adjustNum2() {
    const num1 = parseFloat(document.getElementById('num1').value) || 0;
    document.getElementById('num2').value = X - num1;
}
function adjustNum1() {
    const num2 = parseFloat(document.getElementById('num2').value) || 0;
    document.getElementById('num1').value = X - num2;
}
// 初始化数值
adjustNum2();
</script>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 11:45:29