Dado un String str , la tarea es verificar si la suma del valor ASCII de todos los caracteres es un número primo o no.
Ejemplos:
Input : geeksforgeeks Output : Yes Input : GeeksForGeeks Output : No
Algoritmo
- Calcular la longitud de la string
- Calcular la suma del valor ASCII de todos los caracteres
- Ahora podemos verificar hasta n 1/2 porque un factor mayor de n debe ser un múltiplo de un factor menor. (Consulte Comprobar si el número es primo o no para obtener más información)
- Si la suma es primo, imprima «Sí», de lo contrario, «No»
Ahora la implementación del enfoque anterior se indica a continuación:
C++
// C++ program to find if string is a // Prime or not. #include <bits/stdc++.h> using namespace std; // Function that checks if sum // is prime or not bool isPrimeString(string str) { int len = str.length(), n = 0; for (int i = 0; i < len; i++) n += (int)str[i]; // Corner cases if (n <= 1) return false; if (n <= 3) return true; // This is checked so that we can skip // middle five numbers in below loop 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; } // Driver code int main() { string str = "geekRam"; if (isPrimeString(str)) cout << "Yes" << endl; else cout << "No" << endl; }
Java
// Java program to find if // string is a Prime or not. import java.io.*; class GFG { // Function that checks if // sum is prime or not static boolean isPrimeString(String str) { int len = str.length(), n = 0; for (int i = 0; i < len; i++) n += (int)str.charAt(i); // Corner cases if (n <= 1) return false; if (n <= 3) return true; // This is checked so that we can skip // middle five numbers in below loop 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; } // Driver code public static void main (String[] args) { String str = "geekRam"; if (isPrimeString(str)) System.out.println("Yes"); else System.out.println("No"); } } // This code is contributed by Ajit.
Python3
# Python Program to find if string is Prime or not # Function that checks if sum is prime or not def isPrimeString(str1): len1 = len(str1) n = 0 for i in range(len1): n += ord(str1[i]) # corner cases if n <= 1: return False if n <= 3: return True # This is checked so that we can skip # middle five numbers in below loop if n % 2 == 0 or n % 3 == 0: return False while(i * i <= n): if n % i == 0 or n % (i + 2) == 0: return False i += 6 return True # Driver code str1 = "geekRam" if(isPrimeString(str1)): print("Yes") else: print("No") # This code is contributed by simranjenny84
C#
// C# program to find if string is // a Prime or not using System; class GFG { // Function that checks if sum is prime or not public static bool isPrimeString(string str) { int len = str.Length, n = 0; for (int i = 0; i < len; i++) { n += (int)str[i]; } // Corner cases if (n <= 1) { return false; } if (n <= 3) { return true; } // This is checked so that we can skip // middle five numbers in below loop 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; } // Driver code public static void Main(string[] args) { string str = "geekRam"; if (isPrimeString(str)) { Console.WriteLine("Yes"); } else { Console.WriteLine("No"); } } } // This code is contributed by Shrikant13
PHP
<?php // PHP program to find if // string is a Prime or not. // Function that checks // if sum is prime or not function isPrimeString($str) { $len = strlen($str); $n = 0; for ($i = 0; $i < $len; $i++) $n += (int)$str[$i]; // Corner cases if ($n <= 1) return false; if ($n <= 3) return true; // This is checked so that // we can skip middle five // numbers in below loop if ($n % 2 == 0 || $n % 3 == 0) return false; for ($i = 5; $i * $i <= $n; $i = $i + 6) if ($n % $i == 0 || $n % ($i + 2) == 0) return false; return true; } // Driver code $str = "geekRam"; if (isPrimeString($str)) echo "Yes" , "\n"; else echo "No" , "\n"; // This code is contributed by aj_36 ?>
Javascript
<script> // Javascript program to find if string // is a Prime or not // Function that checks if sum is prime or not function isPrimeString(str) { let len = str.length, n = 0; for(let i = 0; i < len; i++) { n += str[i].charCodeAt(); } // Corner cases if (n <= 1) { return false; } if (n <= 3) { return true; } // This is checked so that we can skip // middle five numbers in below loop 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; } // Driver code let str = "geekRam"; if (isPrimeString(str)) { document.write("Yes"); } else { document.write("No"); } // This code is contributed by decode2207 </script>
Producción :
No