整数引数より大きい最初の完全平方を返す関数を作成する必要があります。完全平方は、ある整数の 2 乗に等しい整数です。たとえば、16 = 4 * 4 であるため、16 は完全平方です。ただし、15 = n*n となる整数 n がないため、15 は完全平方ではありません。
public static int NextPerfectSquare(int inputNumber)
{
if (inputNumber < 0) return 0;
inputNumber++;
var result = Math.Sqrt(inputNumber);
var resultnumber = (int) result;
if (resultnumber == result) return inputNumber;
resultnumber++;
return resultnumber * resultnumber;
}
これは正しいですか?