完美方弦

给一根绳子 str 任务是检查所有字符的ASCII值之和是否为完美平方。

null

例如:

Input : dddddddddddddddddddddddddOutput : YesInput : GeeksForGeeksOutput : No

算法

  • 计算字符串长度
  • 计算所有字符的ASCII值之和
  • 取数字和的平方根,并将其存储到变量平方根中
  • 取平方根的下限值,然后从平方根中减去
  • 如果平方根和平方根的下限值之差为0,则打印“是”,否则打印“否”

以下是上述方法的实施情况:

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>


输出:

Yes

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享