# Count of Prime digits in a Number

• Difficulty Level : Medium
• Last Updated : 20 Dec, 2022

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 ``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

 ``

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 ``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`

My Personal Notes arrow_drop_up