Анализ алгоритма
Пусть . Если , то число является полным квадратом.
Пример
Пусть . Тогда . Проверяем: , следовательно не является полным квадратом.
Реализация алгоритма
Читаем действительное число .
scanf("%lf", &n);
Вычисляем .
a = (int)sqrt(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 = float(input())
Вычисляем .
a = int(math.sqrt(n))
Если , то число является полным квадратом.
if a * a == n: print(a) else: print("No")