Повний квадрат#8877

Повний квадрат (Розбір)

Нехай a = \lfloor \sqrt{n} \rfloor. Якщо a \cdot a = n, то є повним квадратом.

Приклад

Нехай n = 27. Тоді a = \lfloor \sqrt{27} \rfloor = 5. Перевірка: 5 \cdot 5 \ne 27. Отже, число не є повним квадратом.

Імплементація алгоритму

Читаємо вхідне число .

scanf("%d", &n);

Обчислюємо a = \lfloor \sqrt{n} \rfloor.

a = (int)sqrt(n);

Якщо a \cdot a = n, то число є повним квадратом.

if (a * a == n) printf("%d\n", a);
else puts("No");

Імплементація на Java

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

import math

Читаємо вхідне число .

n = int(input())

Обчислюємо a = \lfloor \sqrt{n} \rfloor.

a = int(math.sqrt(n))

Якщо a \cdot a = n, то число є повним квадратом.

if a * a == n: print(a)
else: print("No")