擅长:python、mysql、java
<p>如果<code>N</code>和<code>f2</code>严格大于0,那么</p>
<pre><code> fmin = (N - 1) // f2 + 1
</code></pre>
<p>完全是<code>ceil(N / float(f2))</code>(但比使用浮点更精确)。</p>
<p>(使用<code>//</code>而不是<code>/</code>进行整数除法是为了与Python 3.x兼容而无需额外的工作。)</p>
<p>因为<code>N // f2</code>给了你<code>floor(N / float(f2))</code>,所以<code>N // f2 + 1</code>几乎总是和<code>ceil</code>一样。但是,当<code>N</code>是<code>f2</code>的倍数时,<code>N // f2 + 1</code>太大(不应该有<code>+1</code>),但是使用<code>N - 1</code>可以修复这个问题,并且不会破坏另一个情况。</p>
<p>(这对于小于或等于0的<code>N</code>、<code>f2</code>都不起作用,但可以单独处理)</p>