擅长:python、mysql、java
<p>你很接近。以下是编辑:</p>
<pre><code>def lcmCalc(n1, n2):
i = 2
lcm = 1
while (n1 != 1) and (n2 != 1):
if n1 % i == 0 and n2 % i == 0:
lcm *= i
n1 = n1 // i # <== use floor division operator
n2 = n2 // i
elif n2 % i == 0: # <== remove unneeded 2nd test
lcm *= i
n2 = n2 // i
elif n1 % i == 0: # <== remove unneeded 2nd test
lcm *= i
n1 = n1 // i
else:
i += 1
return lcm * n1 * n2 # <== need to include residuals
</code></pre>
<p>当外环终止时,<em>n1</em>或<em>n2</em>中的任何一个仍可能在^{<cd1>以上。结果中需要包含该剩余值</p>