给定 double 类型的变量 x,且其值大于等于 1,我们可以通过二分法求出 $\log x$ 的近似值。
判断正误题需注意绝对化表述("一定""必须""只能"等)往往是错误的。
判断题中注意"一定""总是""所有""唯一"等绝对化表述通常是错误的。但也要结合具体知识点判断。
【考点】二分法|单调函数零点|浮点运算
🎯 考纲定位(考点定位) GESP 八级算法模块明确要求掌握二分法,但命题人刻意将"二分查找"从整数区间扩展到连续函数域。这道题卡住的是"算法边界"认知——多数考生只记得二分法用于有序数组,却忽略了它本质是寻找单调函数零点的通用工具。
🧠 解题思维(拆解与通法) 关键观察:$\log x$ 是方程 $e^y = x$ 的解。由于 $e^y$ 严格单调递增,二分法可求其零点。 设定下界 $L=0$(因 $x\ge1$ 时 $\log x\ge0$),上界 $R=\max(1.0,x)$(保证 $e^R\ge x$)。 循环条件为 $R-L>\epsilon$,每次取中点 $mid=(L+R)/2$:若 $e^{mid}<x$ 则 $L=mid$,否则 $R=mid$。 收敛后 $L$ 即为 $\log x$ 的近似值。这是"二分法求函数零点"的通法。
🪤 陷阱拆解(命题人的套路) 错误选项 B 利用"二分法仅用于数组"的思维定势,但命题人将二分推广到连续函数域。 最阴险的细节是上界设定:若写 $R=x$ 会因 $e^x$ 溢出导致错误,必须用 $R=\max(1.0,x)$ 确保 $e^R\ge x$。 若只背"二分查整数"结论,就会忽略 $e^y$ 的单调性,误以为 $\log$ 无法二分。
🔄 反命题思维(教练升华) 若将条件改为"$x<1$",下界需调整为 $L=-\max(1.0,-\log x)$,否则 $