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

求使1/i + 1/(i+1)的和等于5的i值(编程新手求助)

求解等式 1/i + 1/(i+1) = 5 中的i值

嘿,咱们先从数学推导入手,再聊聊编程里怎么验证这个结果:

数学精确解推导

首先把等式明确下来:
1/i + 1/(i+1) = 5

  1. 通分合并项:
    将左边两个分数通分后合并,得到:
    (i+1 + i) / [i(i+1)] = 5
    化简分子后整理成等式:
    2i + 1 = 5i(i+1)

  2. 整理为标准二次方程:
    展开右边并移项,得到二次方程的标准形式:
    5i² + 3i - 1 = 0

  3. 用求根公式计算实根:
    对于通用二次方程 ax² + bx + c = 0,根的计算公式是 x = [-b ± √(b²-4ac)]/(2a)。代入a=5、b=3、c=-1:

    • 判别式:√(3² - 4*5*(-1)) = √29 ≈ 5.385
    • 最终得到两个实根:
      • 正根:(-3 + √29)/10 ≈ 0.2385
      • 负根:(-3 - √29)/10 ≈ -0.8385

编程近似求解(以Python为例)

如果需要在代码里逼近这个解,可以用二分法(函数f(i)=1/i +1/(i+1)在i>0时单调递减,很适合二分查找),这里以正根为例:

def find_i(target=5, tolerance=1e-6):
    # 正根区间:i趋近0+时f(i)趋近无穷大,i=1时f(i)=1.5<5,所以区间锁定在(0,1)
    left = 1e-9  # 用极小值避免除以0
    right = 1.0
    while right - left > tolerance:
        mid = (left + right) / 2
        current_value = 1/mid + 1/(mid + 1)
        if current_value > target:
            # 当前值偏大,需要缩小i(i越小,1/i越大)
            right = mid
        else:
            left = mid
    return (left + right) / 2

# 计算并打印近似解
approx_i = find_i()
print(f"近似解为:{approx_i:.4f}")  # 输出约0.2385

额外补充说明

  • 如果要求i是整数,这个等式没有解:整数i的情况下,1/i +1/(i+1)的最大值是i=1时的1.5,远小于5;负数整数的计算结果都是负数,也不可能等于5。
  • 负根的求解逻辑类似,只需把区间调整到(-1, 0)即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:41:35