2117. Abbreviating the Product of a Range
IntuitionApproachComplexity
Time complexity:

Space complexity:
Code
# Intuition
<!-- Describe your first thoughts on how to solve this problem. -->

# Approach
<!-- Describe your approach to solving the problem. -->

# Complexity
- Time complexity:
<!-- Add your time complexity here, e.g. $$O(n)$$ -->

- Space complexity:
<!-- Add your space complexity here, e.g. $$O(n)$$ -->

# Code
```python3 []
class Solution(object):
    def abbreviateProduct(self, a, b):
        value, count_zeros, digit_shift = 1.0, 0, 0
        remainder = 1
        for num in range(a, b + 1):
            value *= num
            while value >= 1:
                value /= 10
                digit_shift += 1
            remainder *= num
            while remainder % 10 == 0:
                count_zeros += 1
                remainder //= 10
            if remainder > 10 ** 14:
                remainder %= 10 ** 14
        if digit_shift - count_zeros <= 10:
            return str(int(value * (10 ** (digit_shift - count_zeros)) + 0.5)) + 'e' + str(count_zeros)
        else:
            return str(int(value * 100000)) + '...' + ('0000' + str(remainder))[-5:] + 'e' + str(count_zeros)

```
['Python3']