Aproveito a oportunidade para deixar aqui um método de radiciação super-simples, eficiente e absolutamente preciso.
Deixo aqui o artigo que escrevi:
UM OLHAR PARA A RADICIAÇÃO
De tanto ver gente desesperada por um algoritmo simples e eficiente que determine radiciações de quaisquer índices, decidi divulgar o algoritmo que uso denominado pelo seu criador como Método Geral da Radiciação.
Eu fico imaginando com meus botões sobre o porquê de ninguém ainda ter descoberto esse método de tão simples que é, afinal, hoje temos cerca de 7 bilhões de seres-humanos no planeta.
Chega de críticas ácidas ao intelecto alheio e vamos logo ao assunto que interessa.
Como sou péssimo desenhista no computador, ao invés de desenhar um radical que é o símbolo da radiciação, vou utilizar-me da expressão root e entre parênteses o valor do radicando e, separado por vírgula, o índice do radical.
Portanto, vamos logo ao exemplo que é isso que nos interessa.
Calculemos a root(123456789, 5), ou seja, a raiz quinta de 123456789.
O primeiro passo é dividirmos o radicando, da direita para a esquerda, em grupos de algarismo de 5 algarismos cada.
1234.56789
Como podem notar, formamos um grupo de 5 algarismos à direita e um de 4 à esquerda.
Determinemos agora o primeiro algarismo da raiz que elevado à quinta potência resulte 1234.
Como eu usei a calculadora do Windows eu encontrei o valor 4.
Logo, o primeiro dígito da raiz será 4.
O segundo dígito será encontrado concatenando-se o próximo dígito ao primeiro e procurando um dígito de 0 a 9 que concatenado à direita do primeiro algarismo da raiz forma um número que elevado à quinta potência resulta 123.456.789.
Confuso? Simples.
Fica assim a nossa expressão: root(123456789, 5) = 4___
Como eu usei a calculadora do Windows encontrei o dígito 1 que concatenado à esquerda do dígito 4 resulta 41.
Elevando-se 41 à quinta potência obtemos 115.856.201 e resto 7.600.588.
Podemos continuar a operação para encontrarmos as casas decimais, tantas quantas quisermos, bastando acrescentar grupos de 5 zeros à direita do radicando para cada casa decimal desejada na raiz.
Vamos calcular 3 casas decimais.
Só para adiantar, o resultado da calculadora é 41,524364578276233587124014318541.
Calculemos então: root(1234.56789.00000.00000.00000)
Observe que acrescentei 15 zeros separados de 5 em 5 dígitos porque quero encontrar a raiz quinta. Se fosse a raiz cúbica seria 3 zeros, quadrada seria 2 zeros, décima seria 10 zeros, e assim por diante.
Para determinarmos o primeiro dígito decimal, tomamos o radicando já calculado 123456789 e o concatenamos com o primeiro grupo de 5 zeros.
Fica assim: root(12345678900000, 5)
Agora, determinemos o dígito que concatenado à direita da raiz já encontrada forma com ele um número que elevado à quinta potência resulte um número próximo ou igual ao radicando.
Seria: 415 pois 415 elevado à quinta potência resulta 12.309.502.009.375 e resto 36.300.347.414.
Observem que não estou utilizando o resto para nada e, portanto, nem precisaria calculá-lo, a não ser no final de toda a operação, caso o mesmo me interesse.
Deixo agora os outros dois dígitos decimais como exercício.
Acho que deu para vocês pegarem o jeito.
Esse método funciona para quaisquer índices de raízes.
Tenho em meu PC uma biblioteca de números gigantes e testei exaustivamente esse algoritmo com números de até 1000 dígitos.
Fiz uma função em C++ com esse algoritmo e um radicando de 10.000 dígitos demorou 14 segundos para ser calculado.
Já com 15.000 dígitos o tempo dobrou, ou seja, 30 segundos.
Com 5.000 dígitos o tempo foi imperceptível, creio que menos de 1 segundo.
A demora se deve ao fato de a cada dígito calculado termos que utilizar no cálculo todo o radicado e toda a raiz já calculada.
Por isso, se o número tem 10.000 dígitos, no final o algoritmo estará multiplicando valores enormes a cada dígito calculado.
No início é super-veloz porque os números são pequenos mas até 5.000 dígitos dá para considerar como um número pequeno ainda, ao menos para esse algoritmo.
By João da Rocha Labrego
Soluções para a tarefa
Respondido por
16
Dá pra fazer um programa com isso, cara. Boa sacada. Ah, e usa o PIF para testar se realmente dá certo com TODOS os números.
Respondido por
13
É verdade João, bom trabalho mano.
Perguntas interessantes
Português,
10 meses atrás
Matemática,
10 meses atrás
Matemática,
1 ano atrás
Física,
1 ano atrás
Matemática,
1 ano atrás
Matemática,
1 ano atrás
Você pode encontrá-la no link http://pt.wikipedia.org/wiki/Radicia%C3%A7%C3%A3o