Просто для затравки.Есть много способов - от Герона до рядов и до битных вычислений.
Еще один способ ( не претендуя на оригинальность - геометрический, итерационный).
Основан на приближении C^2 = A^2 + B^2.
Число итераций практически Ln(N).
Не очень быстрый, это факт (3..11 итераций).
Известен давно, но доработан до минимизации средней ошибки.
Код (Pascal):
http://shot.qip.ru/00gZ9L-5OPovQGI0/График ошибок (X = 10..100 тыс.), [%]:
http://shot.qip.ru/00gZ9L-2OPovQGI2/Число итераций (X = 10..100 тыс.):
http://shot.qip.ru/00gZ9L-4OPovQGI4/