Prime String
Given a String str , the task is to check if the sum of ASCII value of all characters is a Prime Number or not.
Examples :
Input : w3wiki
Output : YesInput : w3wiki
Output : No
Algorithm
- Calculate the string length
- Calculate sum of ASCII value of all characters
- Now we can check till n1/2 because a larger factor of n must be a multiple of smaller factor. (Please see Check If the Number is Prime or Not for details)
- If the Sum is Prime then print “Yes” otherwise “No”
Now the implementation of above approach given below:
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> |
Output
No
Time Complexity: O(n)
Auxiliary Space: O(1), As constant extra space is used.