diff --git a/DIRECTORY.md b/DIRECTORY.md index c5bac23ad35b..064844b94907 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -874,6 +874,7 @@ * [Test Factorial](maths/test_factorial.py) * [Test Prime Check](maths/test_prime_check.py) * [Three Sum](maths/three_sum.py) + * [Trailing Zeroes](maths/trailing_zeroes.py) * [Trapezoidal Rule](maths/trapezoidal_rule.py) * [Triplet Sum](maths/triplet_sum.py) * [Twin Prime](maths/twin_prime.py) diff --git a/maths/trailing_zeroes.py b/maths/trailing_zeroes.py new file mode 100644 index 000000000000..b1c1cdea0bbf --- /dev/null +++ b/maths/trailing_zeroes.py @@ -0,0 +1,40 @@ +""" +https://en.wikipedia.org/wiki/Trailing_zero +""" + + +def trailing_zeroes(num: int) -> int: + """ + Finding the Trailing Zeroes i.e. zeroes present at the end of number + Args: + num: A integer. + Returns: + No. of zeroes in the end of an integer. + + >>> trailing_zeroes(1000) + 3 + >>> trailing_zeroes(102983100000) + 5 + >>> trailing_zeroes(0) + 1 + >>> trailing_zeroes(913273) + 0 + """ + ans = 0 + if num < 0: + return -1 + if num == 0: + return 1 + while num > 0: + if num % 10 == 0: + ans += 1 + else: + break + num /= 10 + return ans + + +if __name__ == "__main__": + import doctest + + doctest.testmod()