Как найти первый идеальный квадрат из функции: f(n)=An²+Bn+C
? B и C приведены. A, B, C и n всегда являются целыми числами, а A всегда равно 1. Проблема в том, чтобы найти n.
Example: A=1, B=2182, C=3248
Ответ для первого идеального квадрата n = 16, потому что sqrt(f(16))=196
.
Мой алгоритм увеличивает n и проверяет, является ли квадратный корень целым числом.
Этот алгоритм очень медленный, когда B или C велики, потому что требуется n вычислений, чтобы найти ответ.
Есть ли более быстрый способ сделать этот расчет? Есть ли простая формула, которая может дать ответ?