Skip to content
Related Articles

Related Articles

Check if sum of count of digits of array elements is Prime or not
  • Last Updated : 06 Nov, 2020

Given an array A[] consisting of N integers, the task is to check if the sum of numbers of digits in each array element is a prime number or not.

Examples: 

Input: A[] = {1, 11, 12}
Output: Yes
Explanation: Count of digits of A[0], A[1] and A[2] are 1, 2, 2 respectively. Therefore, total sum of count of digits = 1 + 2 + 2 = 5, which is prime.

Input: A[] = {1, 11, 123}
Output: No

 

Approach: Follow the steps below to solve the problem:



  1. Initialize a variable sum, to store the sum of number of digits of array elements.
  2. Traverse the array and convert each array element to its equivalent string
  3. Add the length of every string to sum.
  4. Check if the value of sum after complete traversal of the array, is prime or not.
  5. Print Yes if found to be true. Otherwise, print No.

Below is the implementation of the above approach: 

C++




// C++ program for the above approach
#include <bits/stdc++.h>
using namespace std;
 
// Function to check whether
// a number is prime or not
bool isPrime(int n)
{
    // Corner cases
    if (n <= 1)
        return false;
    if (n <= 3)
        return true;
 
    // If given number is a
    // multiple of 2 or 3
    if (n % 2 == 0 || n % 3 == 0)
        return false;
 
    for (int i = 5; i * i <= n; i = i + 6)
        if (n % i == 0 || n % (i + 2) == 0)
            return false;
 
    return true;
}
 
// Function to check if sum
// of count of digits of all
// array elements is prime or not
void CheckSumPrime(int A[], int N)
{
    // Initialize sum with 0
    int sum = 0;
 
    // Traverse over the array
    for (int i = 0; i < N; i++) {
 
        // Convert array element to string
        string s = to_string(A[i]);
 
        // Add the count of
        // digits to sum
        sum += s.length();
    }
 
    // Print the result
    if (isPrime(sum)) {
 
        cout << "Yes" << endl;
    }
    else {
 
        cout << "No" << endl;
    }
}
 
// Drive Code
int main()
{
 
    int A[] = { 1, 11, 12 };
 
    int N = sizeof(A) / sizeof(A[0]);
 
    // Function call
    CheckSumPrime(A, N);
 
    return 0;
}

Java




// Java program for the above approach
import java.io.*;
import java.util.*;
 
class GFG{
 
// Function to check whether
// a number is prime or not
static boolean isPrime(int n)
{
     
    // Corner cases
    if (n <= 1)
        return false;
    if (n <= 3)
        return true;
 
    // If given number is a
    // multiple of 2 or 3
    if (n % 2 == 0 || n % 3 == 0)
        return false;
 
    for(int i = 5; i * i <= n; i = i + 6)
        if (n % i == 0 || n % (i + 2) == 0)
            return false;
 
    return true;
}
 
// Function to check if sum
// of count of digits of all
// array elements is prime or not
static void CheckSumPrime(int[] A, int N)
{
     
    // Initialize sum with 0
    int sum = 0;
 
    // Traverse over the array
    for(int i = 0; i < N; i++)
    {
         
        // Convert array element to string
        String s = Integer.toString(A[i]);
 
        // Add the count of
        // digits to sum
        sum += s.length();
    }
 
    // Print the result
    if (isPrime(sum) == true)
    {
        System.out.println("Yes");
    }
    else
    {
        System.out.println("No");
    }
}
 
// Drive Code
public static void main(String[] args)
{
    int[] A = { 1, 11, 12 };
 
    int N = A.length;
 
    // Function call
    CheckSumPrime(A, N);
}
}
 
// This code is contributed by akhilsaini

Python3




# Python3 program for the above approach
import math
 
# Function to check whether
# a number is prime or not
def isPrime(n):
     
    # Corner cases
    if (n <= 1):
        return False
    if (n <= 3):
        return True
 
    # If given number is a
    # multiple of 2 or 3
    if (n % 2 == 0 or n % 3 == 0):
        return False
 
    for i in range(5, int(math.sqrt(n) + 1), 6):
        if (n % i == 0 or n % (i + 2) == 0):
            return False
 
    return True
 
# Function to check if sum
# of count of digits of all
# array elements is prime or not
def CheckSumPrime(A, N):
     
    # Initialize sum with 0
    sum = 0
 
    # Traverse over the array
    for i in range(0, N):
         
        # Convert array element to string
        s = str(A[i])
 
        # Add the count of
        # digits to sum
        sum += len(s)
 
    # Print the result
    if (isPrime(sum) == True):
        print("Yes")
    else:
        print("No")
 
# Drive Code
if __name__ == '__main__':
     
    A = [ 1, 11, 12 ]
 
    N = len(A)
 
    # Function call
    CheckSumPrime(A, N)
 
# This code is contributed by akhilsaini

C#




// C# program for the above approach
using System;
 
class GFG{
 
// Function to check whether
// a number is prime or not
static bool isPrime(int n)
{
     
    // Corner cases
    if (n <= 1)
        return false;
    if (n <= 3)
        return true;
 
    // If given number is a
    // multiple of 2 or 3
    if (n % 2 == 0 || n % 3 == 0)
        return false;
 
    for(int i = 5; i * i <= n; i = i + 6)
        if (n % i == 0 || n % (i + 2) == 0)
            return false;
 
    return true;
}
 
// Function to check if sum
// of count of digits of all
// array elements is prime or not
static void CheckSumPrime(int[] A, int N)
{
     
    // Initialize sum with 0
    int sum = 0;
 
    // Traverse over the array
    for(int i = 0; i < N; i++)
    {
         
        // Convert array element to string
        String s = A[i].ToString();
 
        // Add the count of
        // digits to sum
        sum += s.Length;
    }
 
    // Print the result
    if (isPrime(sum) == true)
    {
        Console.WriteLine("Yes");
    }
    else
    {
        Console.WriteLine("No");
    }
}
 
// Drive Code
public static void Main()
{
    int[] A = { 1, 11, 12 };
 
    int N = A.Length;
 
    // Function call
    CheckSumPrime(A, N);
}
}
 
// This code is contributed by akhilsaini
Output: 
Yes





 

Time Complexity: O(N3/2)
Auxiliary Space: O(1)

 

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :