Если x
это точный квадрат, потолок и пол квадратного корня равны; в противном случае потолок будет больше, чем квадратный корень. Таким образом, вы можете использовать (в Python),
floor(x) = (ceil(x) - 1) if x
ot in Z else ceil(x)
Изменение кода, с которым вы связаны, не является хорошей идеей, поскольку в этом коде используются некоторые свойства метода вычисления квадратного корня Newton-Raphson. Об этом методе была разработана большая теория, и этот код использует эту теорию. Код, который я показываю, не так хорош, как изменение связанного кода, но он безопаснее и, вероятно, быстрее, чем изменение кода.