前言

在CodeWar上遇到的这个题目,分享以下解题思路。

解题思路

测试数据N可以相当大,直接硬算是不可取的。可以观察到每遇到一个5末位就会多一个零(前面有用不完的偶数),每遇到一个25又多一个零……

代码

def zeros(n):
    x = n // 5
    return x + zeros(x) if x else 0 # 最短:return n // 5 + zeros(n // 5) if n // 5 else 0

感想

遇到与整数有关的问题要多思考数字之中有没有特别的性质可以简化问题。

本文固定链接: http://www.js-code.com/python/python_49185.html