Let a = \lfloor \sqrt{n} \rfloor. If a \cdot a = n, then is a perfect square.
Example
Let n = 27. Then a = \lfloor \sqrt{27} \rfloor = 5. Check: 5 \cdot 5 \ne 27. Therefore, the number is not a perfect square.
Algorithm implementation
Read the input number .
scanf("%d", &n);Compute a = \lfloor \sqrt{n} \rfloor.
a = (int)sqrt(n);If a \cdot a = n, then the number is a perfect square.
if (a * a == n) printf("%d\n", a);
else puts("No");Java implementation
import java.util.*;
class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
double n = con.nextDouble();
int a = (int)Math.sqrt(n);
if (a * a == n)
System.out.println(a);
else
System.out.println("No");
con.close();
}
}Python implementation
import mathRead the input number .
n = int(input())Compute a = \lfloor \sqrt{n} \rfloor.
a = int(math.sqrt(n))If a \cdot a = n, then the number is a perfect square.
if a * a == n: print(a)
else: print("No")