Quando você precisa da raiz quadrada de 10 num projeto real, não adianta confiar só na memória ou numa calculadora barata. O valor exato é irracional, então você vai lidar com aproximações todo o tempo. Eu trabalho com simulações numéricas e já vi gente derrubar um modelo inteiro porque usou 3.16 no lugar de 3.16227766 em um cálculo de energia cinética relativística. A diferença parece pequena, mas em engenharia estrutural isso muda o fator de segurança.
O valor de qual e a raiz quadrada de 10 é aproximadamente 3.1622776601683795, mas o que importa é como chegar nele sem depender de ferramentas que podem falhar quando você mais precisa.
A abordagem direta
Se você tem acesso a uma biblioteca matemática, `sqrt(10)` retorna o valor com precisão dupla (cerca de 15-16 dígitos decimais). Isso resolve 90% dos casos. O problema é quando você está num ambiente embarcado, num servidor sem internet, ou precisando validar se a implementação do colega está correta.
Eu uso o método de Newton-Raphson há anos. Começa com um chute razoável — digamos 3.0 — e aplica a iteração:
x_{n+1} = (x_n + 10/x_n) / 2
A primeira iteração com x = 3 dá x = (3 + 10/3)/2 = 3.1666... Já melhorou. A segunda iteração convergiria para 3.16228... Em três iterações você tem precisão de engenharia suficiente para a maioria das aplicações. O legal é que isso funciona para qualquer número, não só para 10.
Pegadinhas que ninguém conta
A principal armadilha é a convergência. Se você começar com um chute muito ruim — tipo 0.1 ou -5 — o método ainda converge, mas leva mais iterações. Eu já vi código usar chute zero propositalmente em uma tentativa de otimização, o que gera divisão por zero na primeira iteração e o programa simplesmente trava.
Outro ponto: precisão finita. Em ponto flutuante IEEE 754, depois de algumas iterações o erro para de diminuir porque você bate no limite da representação do computador. Não adianta continuar iterando achando que vai melhorar infinitamente. Para a raiz quadrada de 10 especificamente, após a quinta iteração do Newton-Raphson você já atingiu a precisão máxima do double.
Tem também o caso das raízes quadradas de números perfeitos versus irracionais. A de 10 é irracional — não dá para representar exatamente com fração. Se você precisar de representação exata simbólica, use notação de surdo: 10. Mas na prática, 99% das vezes você vai trabalhar com aproximação decimal mesmo.
Quando o método falha
Newton-Raphson tem um ponto fraco: derivada zero ou próxima de zero. Para raízes quadradas isso raramente acontece, mas em extensões do método para outras funções pode dar dor de cabeça. Outra limitação é que requer operações de divisão, que são mais caras que soma e multiplicação em hardware antigo. Em microcontroladores sem FPU (unidade de ponto flutuante), às vezes vale a pena usar tabelas Lookup ou aproximações por polinômios de menor grau.
Eu já implementei uma versão com aproximação de Taylor para (1+x) quando x é pequeno, mas para 10 o deslocamento seria grande demais e a série convergiria devagar. Nesse caso, Newton-Raphson win claramente.
A resposta prática é: se você precisa de qual e a raiz quadrada de 10 num projeto, use 3.16227766. Se precisa calcular do zero, faça três iterações de Newton-Raphson partindo de 3.0. O resto é overengineering.