Comprobación de un cuadrado perfecto

Es posible realizar una búsqueda binaria en cualquier lista ordenada: ya sea una lista de alturas crecientes, números enteros, números de punto flotante, etc. Incluso puede tratarse del conjunto de los números enteros , de los números naturales o de los números racionales . En cada iteración, seguiríamos eligiendo un rango de posibles soluciones y descartando la parte innecesaria.

Desafío

Dado un número entero positivo n, se te solicita determinar si es un cuadrado perfecto, sin utilizar la función sqrt.

Entrada

La entrada contiene un único número entero n (2 ≤ n ≤ ).

Salida

El programa debe imprimir Yes si n es un cuadrado perfecto y No en caso contrario.

Ejemplos

Entrada
Salida
9
Yes
8
No
16
Yes
26
No
Sugerencia
Si n es un cuadrado perfecto ⇒ existe otro número x tal que . Por lo tanto, puedes intentar encontrar x en el intervalo [1, 2, …, n].
 
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue