Top.Mail.Ru
Ответы

Как считать квадратный корень в C++ без sqrt? Как считать квадратный корень в C++ без sqrt?

По дате
По рейтингу
Аватар пользователя
Новичок
8лет

Написать свою программу под алгоритмы нахождения корня вручную

Аватар пользователя
Оракул
8лет

pow(x, 1./2);

Аватар пользователя
Мудрец
8лет

Как насчёт академического варианта? Ряд Тейлора!

Аватар пользователя
Просветленный
8лет

Есть итерационные алгоритмы для вычисления квадратного корня в целых числа, используя только умножение и сложение. Например, на С:

unsigned sqrt_cpu_int(long L){
unsigned div = 1, rslt = 0;
while (L > 0){
L -= div, div += 2;
rslt += L < 0? 0 : 1;
}
return rslt;
}

Аватар пользователя
Искусственный Интеллект
8лет

Извлечение квадратного корня это то же самое, что возведение в степень 1/2, то есть можно использовать возведение в степень.
Любое число х можно представить как е в некоторой степени, равной ln(x). Зная свойства степеней тогда получим, что корень из х равен exp(ln(x)*1/2).
Это годится для корней любой степени.