Números de Sastry

Neste desafio, determine se um número inteiro n é um número de Sastry. Se o número formado ao escrever um inteiro positivo n imediatamente seguido por seu sucessor n + 1 for um quadrado perfeito, então n é um número de Sastry.

Dado um inteiro positivo válido, retorne true se ele for um número de Sastry e false caso contrário. Aqui, concatenar significa juntar os algarismos decimais, não somar nem multiplicar os dois valores.

Exemplos

Program.IsSastry(183L); // true
// Concatenar 183 com seu sucessor resulta em 183184.
// 183184 é um quadrado perfeito: 428².
Program.IsSastry(184L); // false
// Concatenar 184 com seu sucessor resulta em 184185.
// 184185 não é um quadrado perfeito.
Program.IsSastry(106755L); // true
// Concatenar 106755 com seu sucessor resulta em 106755106756.
// 106755106756 é um quadrado perfeito: 326734².

Notas

  • Um quadrado perfeito é um número cuja raiz quadrada é um número inteiro.
  • As entradas são números inteiros positivos válidos maiores que zero, sem casos excepcionais para tratar. Embora zero seja um quadrado perfeito, a concatenação 00 não é considerada um valor válido neste desafio.
  • A entrada cabe no tipo do parâmetro fornecido, mas o valor concatenado pode ser muito maior. Verifique-o sem perder a precisão dos números inteiros.