Просят метод, который работает для некоторого такого числа
return true;
или return false;
. Но мы пока не знаем какое именно число нужно, поэтому точнее сказать не могу.А поиск быстрее вычисления.
заменить извлечение корня на возведение в степень
А дальше я предложил пример алгоритма, который на интервале использует линейную аппроксимацию
Иными словами, я покрываю диапазон 2pdp+dp^2=24e50 чисел (а это достаточно много)
Составим таблицу: 1,9,36,81,169.
является ли некоторое огромное число (от 100 знаков) квадратом
int a = 10;
double b = (a + 0.0) / 20; // b == 1/2