Perfect Square String
Given a String str and the task is to check sum of ASCII value of all characters is a perfect square or not.
Examples :
Input : ddddddddddddddddddddddddd Output : Yes Input : GeeksForGeeks Output : No
Algorithm
- Calculate the string length
- Calculate sum of ASCII value of all characters
- Take the square root of the number sum and store it into variable squareRoot
- Take floor value of the squareRoot and subtract from squareRoot
- If the difference of floor value of squareRoot and squareRoot is 0 then print “Yes” otherwise “No”
Below is the implementation of the above approach :
C++
// C++ program to find if string is a // perfect square or not. #include <bits/stdc++.h> using namespace std; bool isPerfectSquareString(string str) { int sum = 0; // calculating the length of // the string int len = str.length(); // calculating the ASCII value // of the string for ( int i = 0; i < len; i++) sum += ( int )str[i]; // Find floating point value of // square root of x. long double squareRoot = sqrt (sum); // If square root is an integer return ((squareRoot - floor (squareRoot)) == 0); } // Driver code int main() { string str = "d" ; if (isPerfectSquareString(str)) cout << "Yes" ; else cout << "No" ; } |
chevron_right
filter_none
Java
// Java program to find if string // is a perfect square or not. import java.io.*; class GFG { static boolean isPerfectSquareString(String str) { int sum = 0 ; // calculating the length // of the string int len = str.length(); // calculating the ASCII // value of the string for ( int i = 0 ; i < len; i++) sum += ( int )str.charAt(i); // Find floating point value // of square root of x. long squareRoot = ( long )Math.sqrt(sum); // If square root is an integer return ((squareRoot - Math.floor(squareRoot)) == 0 ); } // Driver code public static void main (String[] args) { String str = "d" ; if (isPerfectSquareString(str)) System.out.println( "Yes" ); else System.out.println( "No" ); } } // This code is contributed by Ajit. |
chevron_right
filter_none
Python3
# Python3 program to find # if string is a perfect # square or not. import math; def isPerfectSquareString( str ): sum = 0 ; # calculating the length # of the string l = len ( str ); # calculating the ASCII # value of the string for i in range (l): sum = sum + ord ( str [i]); # Find floating point value # of square root of x. squareRoot = math.sqrt( sum ); # If square root is an integer return ((squareRoot - math.floor(squareRoot)) = = 0 ); # Driver code str = "d" ; if (isPerfectSquareString( str )): print ( "Yes" ); else : print ( "No" ); # This code is contributed by mits |
chevron_right
filter_none
C#
// C# program to find if string // is a perfect square or not. using System; class GFG { static bool isPerfectSquareString( string str) { int sum = 0; // calculating the length // of the string int len = str.Length; // calculating the ASCII // value of the string for ( int i = 0; i < len; i++) sum += ( int )str[i]; // Find floating point value // of square root of x. double squareRoot = Math.Sqrt(sum); double F = Math.Floor(squareRoot); // If square root is an integer return ((squareRoot - F) == 0); } // Driver Code public static void Main() { string str = "d" ; if (isPerfectSquareString(str)) Console.WriteLine( "Yes" ); else Console.WriteLine( "No" ); } } // This code is contributed by Sam007 |
chevron_right
filter_none
PHP
<?php // PHP program to find if string // is a perfect square or not. function isPerfectSquareString( $str ) { $sum = 0; // calculating the length // of the string $len = strlen ( $str ); // calculating the ASCII // value of the string for ( $i = 0; $i < $len ; $i ++) $sum += (int) $str [ $i ]; // Find floating point value // of square root of x. $squareRoot = sqrt( $sum ); // If square root is an integer return (( $squareRoot - floor ( $squareRoot )) == 0); } // Driver code $str = "d" ; if (isPerfectSquareString( $str )) echo "Yes" ; else echo "No" ; // This code is contributed by m_kit ?> |
chevron_right
filter_none
Output :
Yes
Recommended Posts:
- Count numbers upto N which are both perfect square and perfect cube
- Check if a number is perfect square without finding square root
- Check if given number is perfect square
- Closest perfect square and its distance
- Print n numbers such that their sum is a perfect square
- Largest number that is not a perfect square
- Largest factor of a given number which is a perfect square
- Find the Next perfect square greater than a given number
- Largest perfect square number in an Array
- Count of pairs in an array whose sum is a perfect square
- Check perfect square using addition/subtraction
- Largest Divisor of a Number not divisible by a perfect square
- Smallest perfect square divisible by all elements of an array
- Check whether the number can be made perfect square after adding 1
- Minimum digits to remove to make a number Perfect Square
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.