擅长:python、mysql、java
<p>试试这个:</p>
<pre><code>def reverse(n):
m = 0
while n > 0:
n, r = divmod(n, 10)
m = 10 * m + r
return m
</code></pre>
<p>然而,对于一个实际的应用程序,我希望以下速度会快得多:</p>
<pre><code>def reverse(n):
return int(str(n)[::-1])
</code></pre>
<hr/>
<p>尝试满足注释中给出的愚蠢约束的其他几种方法:</p>
<pre><code>n = 45712090
s = str(n)
t = ""
m = len(s)
for i in range(m):
t = s[i] + t
print(t)
n = 45712090
s = str(n)
m = len(s)
for i in range(m - 1, -1, -1):
print(s[i], end="")
print()
import math
n = 45712090
m = math.ceil(math.log10(max(1, n)))
for i in range(m):
n, r = divmod(n, 10)
print(r, end="")
print()
</code></pre>