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 : geeksforgeeks
Output : YesInput : GeeksForGeeks
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.