擅长:python、mysql、java
<p>@MBo在上面说,复杂性是<code>sqrt(z)</code>。您可以将<code>repeats</code>计算为:</p>
<pre class="lang-py prettyprint-override"><code> divisors = []
i = 1
while i * i <= z:
if z % i == 0:
divisors.append(i)
if i * i < z:
divisors.append(z // i)
i += 1
repeats = 0
for divisor in divisors:
if a <= divisor <= b and c <= z // divisor <= d:
repeats += 1
</code></pre>