Нехай 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")