Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Perfect Square String

  • Last Updated : 25 Mar, 2021

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";
}

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";
else
echo "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

 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!