计算阶乘的尾随零

计算阶乘的尾随零,第1张

计算阶乘的尾随零

您的任务不是计算阶乘,而是计算零的数量。一个好的解决方案使用http://en.wikipedia.org/wiki/Trailing_zeros中的公式(您可以尝试证明)

def zeroes(n):    i = 1    result = 0    while n >= i:        i *= 5        result += n/i  # (taking floor, just like Python or Java does)    return result

希望您可以将此翻译为Java。这仅计算[n / 5] + [n / 25] + [n / 125] + [n / 625] +
…,并在除数大于n时停止。

不要使用BigIntegers。这是一个bozosort。这样的解决方案需要大量时间才能实现。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5560518.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存