Open In App

Count of Prime digits in a Number

Last Updated : 20 Dec, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Given an integer N, the task is to count the number of prime digits in N.
Examples: 
 

Input: N = 12 
Output:
Explanation: 
Digits of the number – {1, 2} 
But, only 2 is prime number.
Input: N = 1032 
Output:
Explanation: 
Digits of the number – {1, 0, 3, 2} 
3 and 2 are prime number 
 

Approach: The idea is to iterate through all the digits of the number and check whether the digit is a prime or not. Since there are only four possible prime numbers in the range [0, 9] and every digit for sure lies in this range, we only need to check the number of digits equal to either of the elements in the set {2, 3, 5, 7}
Below is the implementation of this approach: 
 

CPP




// C++ program to count the number of
// prime digits in a number
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to find the count of
// prime digits in a number
int countDigit(int n)
{
    int temp = n, count = 0;
 
    // Loop to compute all the digits
    // of the number
    while (temp != 0) {
 
        // Finding every digit of the
        // given number
        int d = temp % 10;
 
        temp /= 10;
 
        // Checking if digit is prime or not
        // Only 2, 3, 5 and 7 are prime
        // one-digit number
        if (d == 2 || d == 3
            || d == 5 || d == 7)
            count++;
    }
 
    return count;
}
 
// Driver code
int main()
{
    int n = 1234567890;
 
    cout << countDigit(n) << endl;
    return 0;
}


Java




// Java program to count the number of
// prime digits in a number
import java.util.*;
import java.io.*;
class GFG {
     
    // Function to find the count of
    // prime digits in a number
    static int countDigit(int n)
    {
        int temp = n, count = 0;
     
        // Loop to compute all the digits
        // of the number
        while (temp != 0) {
     
            // Finding every digit of the
            // given number
            int d = temp % 10;
     
            temp /= 10;
     
            // Checking if digit is prime or not
            // Only 2, 3, 5 and 7 are prime
            // one-digit number
            if (d == 2 || d == 3
                || d == 5 || d == 7)
                count++;
        }
     
        return count;
    }
     
    // Driver code
    public static void main (String[] args)
    {
        int n = 1234567890;
     
        System.out.println(countDigit(n)) ;
 
    }
}
 
// This code is contributed by AnkitRai01


Python3




# Python3 program to count the number of
# prime digits in a number
 
# Function to find the count of
# prime digits in a number
def countDigit(n):
    temp = n
    count = 0
 
    # Loop to compute all the digits
    # of the number
    while (temp != 0):
 
        # Finding every digit of the
        # given number
        d = temp % 10
 
        temp //= 10
 
        # Checking if digit is prime or not
        # Only 2, 3, 5 and 7 are prime
        # one-digit number
        if (d == 2 or d == 3 or d == 5 or d == 7):
            count += 1
 
    return count
 
# Driver code
if __name__ == '__main__':
    n = 1234567890
 
    print(countDigit(n))
 
# This code is contributed by mohit kumar 29


C#




// C# program to count the number of
// prime digits in a number
using System;
 
class GFG {
     
    // Function to find the count of
    // prime digits in a number
    static int countDigit(int n)
    {
        int temp = n, count = 0;
     
        // Loop to compute all the digits
        // of the number
        while (temp != 0) {
     
            // Finding every digit of the
            // given number
            int d = temp % 10;
     
            temp /= 10;
     
            // Checking if digit is prime or not
            // Only 2, 3, 5 and 7 are prime
            // one-digit number
            if (d == 2 || d == 3
                || d == 5 || d == 7)
                count++;
        }
     
        return count;
    }
     
    // Driver code
    public static void Main (string[] args)
    {
        int n = 1234567890;
     
        Console.WriteLine(countDigit(n)) ;
    }
}
 
// This code is contributed by AnkitRai01


Javascript




<script>
 
// JavaScript program to count the number of
// prime digits in a number
 
 
// Function to find the count of
// prime digits in a number
function countDigit(n)
{
    let temp = n, count = 0;
 
    // Loop to compute all the digits
    // of the number
    while (temp != 0) {
 
        // Finding every digit of the
        // given number
        let d = temp % 10;
 
        temp = Math.floor(temp / 10);
 
        // Checking if digit is prime or not
        // Only 2, 3, 5 and 7 are prime
        // one-digit number
        if (d == 2 || d == 3
            || d == 5 || d == 7)
            count++;
    }
 
    return count;
}
 
// Driver code
 
let n = 1234567890;
 
document.write(countDigit(n) + "<br>");
 
// This code is contributed by gfgking
 
 
</script>


Output: 

4

 

Time Complexity: O(log10N), where N is the length of the number.
Auxiliary Space: O(1)

Method#2:Use Recursion

C++




// C++ program to count the number of
// prime digits in a number
  
#include <bits/stdc++.h>
using namespace std;
  
// Function to find the count of
// prime digits in a number
int countDigit(int n,int count=0)
{
    //BASE CASE
    if (n==0)
        return count;
  
    // Finding every digit of the
    // given number
    int d = n % 10;
    n /= 10;
  
    // Checking if digit is prime or not
    // Only 2, 3, 5 and 7 are prime
    // one-digit number
    if (d == 2 || d == 3|| d == 5 || d == 7){count++;}
  
    countDigit(n,count);//recursively calling function
}
  
// Driver code
int main()
{
    int n = 1234567890;
  
    cout << countDigit(n) << endl;
    return 0;
}
//This code is contributed by Shivesh Kumar Dwivedi


Java




// Java program to count the number of
// prime digits in a number
import java.util.*;
import java.io.*;
class GFG
{
   
    // Function to find the count of
    // prime digits in a number
    static int countDigit(int n, int count)
    {
        // BASE CASE
        if (n == 0)
            return count;
 
        // Finding every digit of the
        // given number
        int d = n % 10;
        n /= 10;
 
        // Checking if digit is prime or not
        // Only 2, 3, 5 and 7 are prime
        // one-digit number
        if (d == 2 || d == 3 || d == 5 || d == 7) {
            count++;
        }
 
        return countDigit(n, count);
        // recursively calling function
    }
 
    // Driver code
    public static void main(String[] args)
    {
        int n = 1234567890;
 
        System.out.println(countDigit(n, 0));
    }
}
 
// This code is contributed by phasing17


Python3




# Python3 program to count the number of
# prime digits in a number
  
# Function to find the count of
# prime digits in a number
def countDigit(n, count = 0):
 
    # BASE CASE
    if (n == 0):
     
        print(count)
        return;
     
    # Finding every digit of the
    # given number
    d = n % 10;
    n = int(n / 10);
  
    # Checking if digit is prime or not
    # Only 2, 3, 5 and 7 are prime
    # one-digit number
    if (d == 2 or d == 3 or d == 5 or d == 7):
        count += 1
     
    countDigit(n, count);#recursively calling function
 
# Driver code
n = 1234567890;
countDigit(n)
 
# This code is contributed by phasing17


C#




// C# program to count the number of
// prime digits in a number
 
using System;
using System.Collections.Generic;
 
class GFG {
  // Function to find the count of
  // prime digits in a number
  static int countDigit(int n, int count = 0)
  {
    // BASE CASE
    if (n == 0)
      return count;
 
    // Finding every digit of the
    // given number
    int d = n % 10;
    n /= 10;
 
    // Checking if digit is prime or not
    // Only 2, 3, 5 and 7 are prime
    // one-digit number
    if (d == 2 || d == 3 || d == 5 || d == 7) {
      count++;
    }
 
    return countDigit(n, count);
    // recursively calling function
  }
 
  // Driver code
  public static void Main(string[] args)
  {
    int n = 1234567890;
 
    Console.WriteLine(countDigit(n));
  }
}
 
// This code is contributed by phasing17


Javascript




// JS program to count the number of
// prime digits in a number
  
// Function to find the count of
// prime digits in a number
function countDigit(n, count = 0)
{
    // BASE CASE
    if (n == 0)
    {
        console.log(count);
        return;
    }
  
    // Finding every digit of the
    // given number
    let d = n % 10;
    n = Math.floor(n / 10);
  
    // Checking if digit is prime or not
    // Only 2, 3, 5 and 7 are prime
    // one-digit number
    if (d == 2 || d == 3|| d == 5 || d == 7)
    {
        count++;
    }
     
    countDigit(n,count);//recursively calling function
}
  
// Driver code
let n = 1234567890;
countDigit(n)
 
// This code is contributed by phasing17


Output

4


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads