1922. Count Good Numbers

Difficulty:
Related Topics:
Similar Questions:

    Problem

    A digit string is good if the digits (0-indexed) at even indices are even and the digits at odd indices are prime (2, 3, 5, or 7).

    Given an integer n, return **the *total* number of good digit strings of length **n. Since the answer may be large, **return it modulo **10^9 + 7.

    A digit string is a string consisting of digits 0 through 9 that may contain leading zeros.

      Example 1:

    Input: n = 1
    Output: 5
    Explanation: The good numbers of length 1 are "0", "2", "4", "6", "8".
    

    Example 2:

    Input: n = 4
    Output: 400
    

    Example 3:

    Input: n = 50
    Output: 564908303
    

      Constraints:

    Solution (Java)

    class Solution {
        public int countGoodNumbers(long n) {
            long mod = 1000000007L;
            long result = n % 2 == 0 ? 1L : 5L;
    
            long base = 20L;
            long time = n / 2L;
            while (time > 0) {
                if (time % 2L > 0) {
                    result *= base;
                    result %= mod;
                }
                time /= 2L;
                base = base * base % mod;
            }
            return (int) result;
        }
    }
    

    Explain:

    nope.

    Complexity: