在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
遇到与整数有关的问题要多思考数字之中有没有特别的性质可以简化问题。
上一篇:【python】Human readable duration format 时间格式转换
下一篇:在tensorflow上进行机器学习的“Hello World”:MNIST 手写识别