[Java] Follow hints 275ms Two-Pass Solution
Use module to get last 5 digits in first pass\n* Use log10 to get first 5 digits in second pass\n\n\nclass Solution {\n    public String abbreviateProduct(int l
* Use module to get last 5 digits in first pass\n* Use log10 to get first 5 digits in second pass\n\n```\nclass Solution {\n    public String abbreviateProduct(int left, int right) {\n        int zero = 0;\n        boolean mod = false;\n        \n        long val = 1L;\n        for (int i = left; i <= right; i++) {\n            val *= i;\n            while (val % 10 == 0) {\n                val /= 10;\n                zero++;\n            }\n            if (val > 10_000_000_000L) {\n                val %= 10_000_000_000L;\n                mod = true;\n            }\n        }\n        if (!mod) {\n            return String.format("%de%d", val, zero);\n        }\n        long end = val % 100_000L;\n        double s = 0.0;\n        for (int i = left; i <= right; i++) {\n            s += Math.log10(i);\n        }\n        s -= (int)s;\n        double start = Math.pow(10.0, (s + 4));\n        return String.format("%d...%05de%d", (int)start, end, zero);\n    }\n}\n```
['Java']