Dada una array A[] que consta de N enteros, la tarea es verificar si la suma de números de dígitos en cada elemento de la array es un número primo o no.
Ejemplos:
Entrada: A[] = {1, 11, 12}
Salida: Sí
Explicación: La cantidad de dígitos de A[0], A[1] y A[2] son 1, 2, 2 respectivamente. Por lo tanto, suma total de conteo de dígitos = 1 + 2 + 2 = 5, que es primo.Entrada: A[] = {1, 11, 123}
Salida: No
Enfoque: siga los pasos a continuación para resolver el problema:
- Inicialice una suma variable para almacenar la suma del número de dígitos de los elementos de la array.
- Atraviese la array y convierta cada elemento de la array en su string equivalente
- Agregue la longitud de cada string a sum .
- Compruebe si el valor de la suma después de recorrer completamente la array es primo o no .
- Escriba Sí si se encuentra que es cierto. De lo contrario , imprima No.
A continuación se muestra la implementación del enfoque anterior:
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
Javascript
<script> // Javascript program for the above approach // Function to check whether // a number is prime or not function 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 || n % 3 == 0) return false; for (let 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 function CheckSumPrime(A, N) { // Initialize sum with 0 let sum = 0; // Traverse over the array for (let i = 0; i < N; i++) { // Convert array element to string let s = new String(A[i]); // Add the count of // digits to sum sum += s.length; } // Print the result if (isPrime(sum)) { document.write("Yes" + "<br>"); } else { document.write("No" + "<br>"); } } // Drive Code let A = [ 1, 11, 12 ]; let N = A.length // Function call CheckSumPrime(A, N); // This code is contributed by gfgking </script>
Producción:
Yes
Complejidad de Tiempo: O(N 3/2 )
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por rishikeshverma y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA