# Perfect Cube String

• Last Updated : 25 Mar, 2021

Given a String str, the task is to check the sum of ASCII values of all characters in this string is a perfect cube or not.

Examples :

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

```Input: str = "ll"
Output: Yes
ASCII value of l = 108
Therefore, sum of ASCII values = 108 + 108 = 216
which is a perfect cube 6 (6 * 6 * 6 = 216)

Input: str = "a"
Output: No
ASCII value of a = 97
Therefore, sum of ASCII values = 97
which is not a perfect cube```

Algorithm

• For each character in the String, find out its ASCII value
• Calculate sum of ASCII values of all characters
• Check whether this sum is a perfect cube or not.
• If the sum is a perfect cube, then print “Yes” otherwise “No”

Below is the implementation of the above approach:

## C++

 `// C++ program to find if string is a``// perfect cube or not.` `#include ``using` `namespace` `std;` `bool` `isPerfectCubeString(string str)``{``    ``int` `sum = 0;` `    ``// Finding ASCII values of each``    ``// character and finding its sum``    ``for` `(``int` `i = 0; i < str.length(); i++)``        ``sum += (``int``)str[i];` `    ``// Find the cube root of sum``    ``long` `double` `cr = round(cbrt(sum));` `    ``// Check if sum is a perfect cube``    ``return` `(cr * cr * cr == sum);``}` `// Driver code``int` `main()``{``    ``string str = ``"ll"``;` `    ``if` `(isPerfectCubeString(str))``        ``cout << ``"Yes"``;``    ``else``        ``cout << ``"No"``;``}`

## Java

 `// Java program to find if String is a``// perfect cube or not.``import` `java.util.*;` `class` `GFG{`` ` `static` `boolean` `isPerfectCubeString(String str)``{``    ``int` `sum = ``0``;`` ` `    ``// Finding ASCII values of each``    ``// character and finding its sum``    ``for` `(``int` `i = ``0``; i < str.length(); i++)``        ``sum += (``int``)str.charAt(i);`` ` `    ``// Find the cube root of sum``    ``double` `cr = Math.round(Math.cbrt(sum));`` ` `    ``// Check if sum is a perfect cube``    ``return` `(cr * cr * cr == sum);``}`` ` `// Driver code``public` `static` `void` `main(String[] args)``{``    ``String str = ``"ll"``;`` ` `    ``if` `(isPerfectCubeString(str))``        ``System.out.print(``"Yes"``);``    ``else``        ``System.out.print(``"No"``);``}``}` `// This code is contributed by 29AjayKumar`

## Python3

 `# Python3 program to find if str1ing is a``# perfect cube or not.``from` `math ``import` `ceil` `def` `isPerfectCubeString(str1):``    ``sum` `=` `0` `    ``# Finding ASCII values of each``    ``# character and finding its sum``    ``for` `i ``in` `range``(``len``(str1)):``        ``sum` `+``=` `ord``(str1[i])` `    ``# Find the cube root of sum``    ``cr ``=` `ceil((``sum``)``*``*``(``1``/``3``))` `    ``# Check if sum is a perfect cube``    ``return` `(cr ``*` `cr ``*` `cr ``=``=` `sum``)` `# Driver code``str1 ``=` `"ll"` `if` `(isPerfectCubeString(str1)):``    ``print``(``"Yes"``)``else``:``    ``print``(``"No"``)` `# This code is contributed by mohit kumar 29`

## C#

 `// C# program to find if String is a``// perfect cube or not.``using` `System;` `class` `GFG{` `static` `bool` `isPerfectCubeString(String str)``{``    ``int` `sum = 0;` `    ``// Finding ASCII values of each``    ``// character and finding its sum``    ``for` `(``int` `i = 0; i < str.Length; i++)``        ``sum += (``int``)str[i];` `    ``// Find the cube root of sum``    ``double` `cr = Math.Round(Math.Pow(sum, (``double``) 1 / 3));``    ` `    ``// Check if sum is a perfect cube``    ``return` `(cr * cr * cr == sum);``}` `// Driver code``public` `static` `void` `Main(String[] args)``{``    ``String str = ``"ll"``;` `    ``if` `(isPerfectCubeString(str))``        ``Console.Write(``"Yes"``);``    ``else``        ``Console.Write(``"No"``);``}``}` `// This code is contributed by PrinciRaj1992`

## Javascript

 ``
Output:
`Yes`

My Personal Notes arrow_drop_up