擅长:python、mysql、java
<p>由于数字<code>5</code>可以是数字中的任意一个,因此最容易将两个数字之间的每个整数转换为字符串,这样就可以使用<code>in</code>运算符检查<code>5</code>是否是子字符串:</p>
<pre><code>def give_me_five(start, end):
return sum('5' in str(i) for i in range(start, end + 1))
</code></pre>
<p>或者,如果你喜欢用数学来做,你可以在检查余数是否为5的同时,将给定的数字除以10,直到商变成0:</p>
<pre><code>def give_me_five(start, end):
count = 0
for i in range(start, end + 1):
while i > 0:
if i % 10 == 5:
count += 1
break
i //= 10
return count
</code></pre>
<p>以便:</p>
<pre><code>give_me_five(105, 168)
</code></pre>
<p>返回:<code>16</code></p>