Given an integer N, the task is to count the number of prime digits in N.
Examples:
Input: N = 12
Output: 1
Explanation:
Digits of the number – {1, 2}
But, only 2 is prime number.
Input: N = 1032
Output: 2
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:
// 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 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 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# 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 |
<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> |
4
Time Complexity: O(log10N), where N is the length of the number.
Auxiliary Space: O(1)
Method#2:Use Recursion
// 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 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 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# 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 |
// 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 |
4