Saturday, October 5, 2024
Google search engine
HomeData Modelling & AIPerfect Cube String

Perfect Cube String

Given 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 : 

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 <bits/stdc++.h>
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 string 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




<script>
 
// JavaScript program to find if string
// is a perfect cube or not.
function isPerfectCubeString(str)
{
    var sum = 0;
 
    // Finding ASCII values of each
    // character and finding its sum
    for(var i = 0; i < str.length; i++)
    {
        sum += str.charCodeAt(i);
    }
 
    // Find the cube root of sum
    var cr = Math.round(Math.cbrt(sum));
 
    // Check if sum is a perfect cube
    return cr * cr * cr == sum;
}
 
// Driver code
var str = "ll";
 
if (isPerfectCubeString(str))
    document.write("Yes");
else
    document.write("No");
 
// This code is contributed by rdtank
   
</script>


Output: 

Yes

 

Time complexity: O(n) where n is the length of the given 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 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments