Perfect square#8877

Perfect square (Editorial)

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 math

Read 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")