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 : YesInput : 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"; } |
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. |
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 |
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 |
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"; elseecho "No"; // This code is contributed by m_kit ?> |
Javascript
<script> // JavaScript program to find if string is a // perfect square or not. function isPerfectSquareString(str) { var sum = 0; // Calculating the length of // the string var len = str.length; // Calculating the ASCII value // of the string for(var i = 0; i < len; i++) sum += str.charCodeAt(i); // Find floating point value of // square root of x. var squareRoot = Math.sqrt(sum); // If square root is an integer return squareRoot - Math.floor(squareRoot) == 0; } // Driver code var str = "d"; if (isPerfectSquareString(str)) document.write("Yes"); else document.write("No"); // This code is contributed by rdtank </script> |
Output
Yes
Time Complexity: O(len), where the len is the length of the string.
Auxiliary Space: O(1)
Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!



