Цілочисленний квадратний корінь
isqrt(n) = ⌊ n ⌋. >(n)=\lfloor >\rfloor .>
Наприклад, isqrt (27) = 5 >(27)=5> оскільки 5 2 = 25 27 = 25 і 27 "6 2 = 36 27 = 36 27 27" .
Зміст
Використання тільки цілого розподілу
Для обчислення ⌊ n ⌋ >\rfloor > для дуже великих цілих чиселnможна використовувати приватний поділ із залишком при обох операціях поділу. Перевагою є використання цілих чисел для кожного проміжного значення, що звільняє від використання подання чисел у вигляді чисел з плаваючою комою. Це еквівалентно використанню ітеративної формули
Грунтуючись на факті, що
Використовуючи бітові операції
Якщо * означає множення, то означає зрушення вліво, а >> - логічний зсув вправо, рекурсивний алгоритм пошуку цілісного квадратного кореня з будь-якого натурального числа наступний:
Або ітерації замість рекурсії:
У додатках, які використовують відмінні від раціональних чисел формати (наприклад, кому кому), константу зупинки слід вибрати меншої одиниці, щоб уникнути помилок округлення.