Números de Sastry

Neste desafio, você deve determinar se um determinado número inteiro n é um número de Sastry. Se o número resultante da concatenação de um número inteiro n com seu sucessor for um quadrado perfeito, então n é um número de Sastry.

Dado um número inteiro positivo n, implemente uma função que retorne true se n for um número de Sastry ou false caso contrário.

Exemplos

isSastry(183) ➞ true
// Concatenation of n and its successor = 183184
// 183184 is a perfect square (428 ^ 2)

isSastry(184) ➞ false
// Concatenation of n and its successor = 184185
// 184185 is not a perfect square

isSastry(106755) ➞ true
// Concatenation of n and its successor = 106755106756
// 106755106756 is a perfect square (326734 ^ 2)

Observações

  • Um quadrado perfeito é um número cuja raiz quadrada é um número inteiro.
  • Você pode esperar apenas números inteiros positivos válidos maiores que 0 como entrada, sem exceções para tratar. Zero é um quadrado perfeito, mas a concatenação 00 não é considerada um resultado válido para verificar.
  • Em JavaScript, apesar de os resultados deste desafio específico serem comprovados, o método usado para calcular se um número inteiro maior que 2 ** 53 - 1 é um número de Sastry pode causar erros devido à aproximação do mecanismo JS.