我需要编写一个函数来返回大于其整数参数的第一个完美平方。完美平方是等于某个整数平方的整数。例如,16 是一个完美的正方形,因为 16 = 4 * 4。但是 15 不是一个完美的正方形,因为没有整数 n 使得 15 = n*n。
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;
}
这是正确的吗?