给一根绳子 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