[Java Script]「整数平方根判別」


1.問題の説明


任意の正の整数nについて、nがある正の整数xの二乗であるか否かを判断しようとする.
nが正の整数xの平方である場合、x+1の平方を返し、nが正の整数xの平方でない場合、-1を返す関数を完了する.

2.制限

  • nは正の整数で、1より大きく、5000000000000未満です.
  • 3.I/O例



    4.I/O例説明


    I/O例#1
  • 121は正の整数11の二乗であり、144倍(11+1)を返します.
  • I/O例#2
  • 3は、正の整数の二乗ではないため、-1を返します.
  • 5.トラブルシューティング


    Math.sqrt()
    :平方で除算
    Math.pow(base, exponent)
    :baseを指数に二乗して返す
    Math.floor()
    :整数が正の日数を指定します.
    function solution(n) {
        const square = Math.sqrt(n);
        if (square === Math.floor(square)) {
            return Math.pow(square+1, 2);
        } else {
            return -1;
        }
    }