Cuerda de cubo perfecto

Dada una string str , la tarea es verificar que la suma de los valores ASCII de todos los caracteres en esta string sea un cubo perfecto o no.

Ejemplos: 

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

Algoritmo  

  • Para cada carácter en la string, averigüe su valor ASCII
  • Calcular la suma de los valores ASCII de todos los caracteres
  • Comprueba si esta suma es un cubo perfecto o no.
  • Si la suma es un cubo perfecto, escriba «Sí», de lo contrario, «No»

A continuación se muestra la implementación del enfoque anterior: 

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>
Producción: 

Yes

 

Publicación traducida automáticamente

Artículo escrito por spp____ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *