擅长:python、mysql、java
<p>如果k是与0.1的倍数的幂最接近的整数,那么<code>k ≈ 10ᵐʳ</code>,其中m是整数,<code>r=0.1</code>,所以<code>ln k ≈ m r ln 10</code>和{<cd4>}。如果<code>u = log₁₀(k)/r</code>,那么最接近k的0.1的倍数的10的值是10的<code>r</code>乘以u的下限或u的上限,如下面的代码所示。在</p>
<pre><code>import math
def aloghilo(k):
u = 10*math.log10(k)
return (10**(math.floor(u)/10), 10**(math.ceil(u)/10))
def isantilog(k):
(lo,hi) = aloghilo(k)
return k==round(lo) or k==round(hi)
</code></pre>
<p>以下是通过ipython解释器得到的结果示例:</p>
^{pr2}$