Count of numbers of length N having prime numbers at odd indices and odd numbers at even indices

• Difficulty Level : Expert
• Last Updated : 06 Sep, 2021

Given a number N, the task is to calculate the count of numbers of length N having prime numbers at odd indices and odd numbers at even indices.

Example:

Input :  N = 1
Output:   5
Explanation : All valid numbers length 1 are 1, 3, 5, 7, 9, here we have only 1 odd index, therefore we have 5 valid numbers.

Input: N = 2
Output:  20
Explanation: There are 20 valid numbers of length 2.

Approach :  The problem can be solved with the help of combinatorics. The digits at odd indices have 4 choices and the digits at even indices have 5 choices.
Follow the steps to solve the problem:

• There are 5 choices for even indices (1, 3, 5, 7, 9 ) and 4 choices for odd indices (2, 3, 5, 7 ).
• For a number of length N, there will be N/2 odd indices and (N/2 + N%2) even indices.
• So, the number of ways to fill N/2 odd indices are  4 N/2.
• And  the number of ways to fill even indices are  5(N/2 + N%2).
• Hence, the total count of all the valid numbers will be 4N/2  * 5 (N/2 + N%2).

Below is the implementation of above approach:

C++

 // c++ program to Count of numbers of length// N having prime numbers at odd indices and// odd numbers at even indices#includeusing namespace std;// function to find total number of waysint find_Numb_ways(int n){    // No of odd indices in n-digit number    int odd_indices = n/2;       // No of even indices in n-digit number    int even_indices = (n / 2) + (n % 2);       //  No of ways of arranging prime number    //  digits in odd indices    int arr_odd = pow(4, odd_indices);       //   No of ways of arranging odd number    //  digits in even indices    int arr_even = pow(5, even_indices);       // returning the total number of ways    return arr_odd * arr_even;} // drive codeint main(){    int n = 4;    cout << find_Numb_ways(n) << endl;    return 0;} // This code is contributed by kondamrohan02.

Java

 // Java program to Count of numbers of length// N having prime numbers at odd indices and// odd numbers at even indicesimport java.util.*; class GFG{ // function to find total number of waysstatic int find_Numb_ways(int n){       // No of odd indices in n-digit number    int odd_indices = n/2;       // No of even indices in n-digit number    int even_indices = (n / 2) + (n % 2);       //  No of ways of arranging prime number    //  digits in odd indices    int arr_odd = (int)Math.pow(4, odd_indices);       //   No of ways of arranging odd number    //  digits in even indices    int arr_even = (int)Math.pow(5, even_indices);       // returning the total number of ways    return arr_odd * arr_even;}     // Driver Code    public static void main(String[] args) {        int n = 4;     System.out.print(find_Numb_ways(n));     }} // This code is contributed by code_hunt.

Python3

 # python program for above approachdef count(N):     # No of odd indices in N-digit number    odd_indices = N//2     # No of even indices in N-digit number    even_indices = N//2 + N % 2     # No of ways of arranging prime number    # digits in odd indices    arrange_odd = 4 ** odd_indices     # No of ways of arranging odd number    # digits in even indices    arrange_even = 5 ** even_indices     # returning the total number of ways    return arrange_odd * arrange_even  # Driver codeif __name__ == "__main__":     N = 4    # calling the function    print(count(N))

C#

 // C# program to Count of numbers of length// N having prime numbers at odd indices and// odd numbers at even indicesusing System;using System.Collections.Generic; class GFG{ // function to find total number of waysstatic int find_Numb_ways(int n){    // No of odd indices in n-digit number    int odd_indices = n/2;       // No of even indices in n-digit number    int even_indices = (n / 2) + (n % 2);       //  No of ways of arranging prime number    //  digits in odd indices    int arr_odd = (int)Math.Pow(4, odd_indices);       //   No of ways of arranging odd number    //  digits in even indices    int arr_even = (int)Math.Pow(5, even_indices);       // returning the total number of ways    return arr_odd * arr_even;} // drive codepublic static void Main(){    int n = 4;    Console.Write(find_Numb_ways(n));}} // This code is contributed by SURENDRA_GANGWAR.

Javascript


Output
400

Time Complexity: O(1), (Constant time operations)
Auxiliary Space : O(1), (No additional space required)

My Personal Notes arrow_drop_up