Numero Gigante

Pessoal estou resolvendo um problema que deve extrair a raiz quadrada de um numero até: 10^1000 (dez elevado na potencia 1000).
Estou usando a BigInteger, ateh ai tdo bem mas esta classe nao extrai raiz quadrada entao fui atras de um algoritmo maluco que faz isso (Newton-Raphson-Babylonian method), mas queria saber se nao tem um caminho mais curto…
Se alguem jah passou por essa situacao…

nao tem jeito, vc vai ter que usar alguma estrutura de dados para fazer este muleque funcionar.
o bom de java é que esta tudo pronto é so usar.
de uma olhada na api java.uti.
t+ :joia:

No que uma api da java.util (inclusive eh util nao uti.) vai te ajudar na extracao da raiz quadrada seu madruga?

por favor…
se n. sabe n. responda

Rapaz, eu fiz uns testes aqui e acho que são úteis pra você. Olhe aí…

          BigInteger bi = new BigInteger("4123456789101112");
	  BigInteger bi2 = new BigInteger("4123456789101112");
	  BigInteger cont = bi.multiply(bi2);
	  System.out.println(cont);
	  System.out.println(Math.sqrt(cont.doubleValue()));

A saída foi:

17002895891584052446708959636544
4.123456789101112E15

Melhor ainda, testei aqui. Passa o número que a pessoa quer como String de parâmetro de criação do BigInteger.
Ex:

BigInteger cont = new BigInteger("10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000");
System.out.println(cont);
System.out.println(Math.sqrt(cont.doubleValue()));

e saiu:

10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1.0E50

laosapiens obrigado por responder.
mas vc ve que esta passando para double mas meu numero vai ate 10^1000 um double nao suporta esse valor.
(double=(2^63)-1 se n me engano) de qualquer forma esta longe disso…

Certo, certo.Nem percebi isso ( dorl )
Bem,de qualquer forma, eu sei que tem algumas maneiras bem simples de se calcular raízes ‘na porrada’ procura nesses mathworld da vida aí alguns algoritmos mais simples =)

Esse tópico me foi muito util… obrigado a todos! :lol: :lol:

[quote=“caiozanchetti”]No que uma api da java.util (inclusive eh util nao uti.) vai te ajudar na extracao da raiz quadrada seu madruga?

por favor…
se n. sabe n. responda[/quote]

Bem, se te ajudou ou não, ele não foi estupido com vc, não te ofendeu, por isso acho que vc não tinha o direito de ser rude com ele :???: .

De qualquer forma, da uma olhada
http://www.merriampark.com/bigsqrt.htm

Na api padrão vc não vai achar, pode ser que tenha algum projeto do tipo MathUtils que tenha isso pronto.