Fórum Como calculo Raiz quadrada? #565039

09/04/2009

0

Gente eu to com um problema aqui eu preciso fazer uma classe que calcula valor digitado elevado a segunda e que calcule a raiz quadrada como eu faço isso? Quem puder me ajudar eu agradeço. OBrigadoOO!!! :metal:
Abner Sella

Abner Sella

Responder

Post mais votado

14/05/2012

Não sei se funciona o x^y, mas caso não funcione, é só usar
1
Math.pow(x, y);
Alias, vale lembrar que a raiz x de y, é igual à y elevado ao inverso de x, ou seja, é igual à 1/x (O inverso de QUALQUER número é igual à 1 dividido pelo número. Ex.: Inverso de 7 = 1/7; Inverso de 67 = 1/67; ...) Um exemplo: Raíz 4 de 16. É igual à 16 elevado à 1/4. O java tem um método que faz qualquer tipo de POTÊNCIA, mas pra raiz tem só dois: Quadrada e Cúbica. Então esse propriedade matemática é muito útil pra que precisa de mais... Imagine ter que calcular a raíz 1,67 de 10.... Aí complica. É só fazer 10 elevado à (1/1,67) Em java...
1
2
3
//Raíz 7,4537 de 100
 
Math.pow(10, (1/7,4537)) //Base -> 10; Expoente -> 7,4539

Alan Vinícius

Alan Vinícius
Responder

Gostei + 2

Mais Posts

09/04/2009

Abner Sella

Boa noite. Ve se isso ajuda....
1
System.out.println("Raiz de 8 = " + math.sqrt(8));
Abraço
Responder

Gostei + 0

09/04/2009

Abner Sella

complementando, x elevado a y é Math.pow(x, y) []]
Responder

Gostei + 0

22/04/2012

Alan Vinícius

Bom... A pergunta está muito bem resolvida, mas a título de aprendizagem, vou postar um método que ultiliza a EQUAÇÃO DE PELL. A equação de pell só retorna valores inteiros. Por exemplo: Se você diz ao método para calcular raíz de 25, ele retorna o número 5, mas se você pede raíz de 26, ele tbm retorna o 5. Isso aontece por que quando o radicando não é um quadrado perfeito, ele retorna a raiz do quadrado perfeito mais próximo e ABAIXO deste quadrado IMperfeito, ou seja, no caso de raíz de 26, ele retorna raíz de 25 por que 25 é o quadrado perfeito mais próximo e ABAIXO de 26. Com raíz de 39, o método retorna raíz de 36. OBS.: Essa equação só funciona com raiz [u]quadrada[/u] Bom, vamos à equação... calculemos raíz de z i=0; z - 1 = a i++ a - 3 = b i++ b - 5 = c i++ c - 7 = d i++ d - 9 = e i++ ... Assim continue subtraindo pelo próximo impar até que o numero a ser subtraido seja menor que o próximo impar. E i=raíz de z Dessa forma, vejamos raíz de 27 por exemplo: i=0; 27 - 1 = 26 i++ 26 - 3 = 23 i++ 23 - 5 = 18 i++ 18 - 7 = 11 i++ 11 - 9 = 02 i++ i=5, logo, raíz de 27 = 5. (Lembre-se que 5 é a raiz de 25 e 25 é o quadrado perfeito menor que 27 mais próximo de 27) Vejamos raíz de 36 (36 é um quadrado perfeito) i=0; 36 - 1 = 35 i++ 35 - 3 = 32 i++ 32 - 5 = 27 i++ 27 - 7 = 20 i++ 20 - 9 = 11 i++ 11 - 11 = 0 i++ i = 6, logo, raíz de 36 = 6; Tá! Tudo bem! Mas como fica isso em JAVA? Vamos lá! Crie um classe qualquer...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class OperacaoMatematica //Uma classe qualquer;
{
      public static int raiz(int x) //Método estático que retorna um inteiro. Recebe o parametro x (Do tipo int); Será extraido a raiz quadrada de x;
      {
            int n = 0;
            int i = 0;
 
            while(i<=x) //Enquanto i < x ....
            {
                  x -= i; //Atualiza o valor de x;  x=x-i ;
                  i += 2 //Atualiza o valor de i;  i=i+2. Deste modo, i sempre será ímpar;
                  n++; //Soma mais 1 ao n;
            }
            return n; //Finalmente, depois que todo o while() foi execultado, retorna o valor de n;
 
            /*Você pode verificar se o valor retornado n é a raíz real do parâmetro x passado. Antes do while() crie um int j = x;
            Aqui no final faça um if(); ex.:
            if(n*n==j) // n é a raíz real de j (j vale x antes do while)
            {
                  blá, blá, blá!
            }
            else // n não é a raíz real de j (j vale x antes do while)
            {
                  blá, blá, blá!
            }
            */
      }
}
Agora vamos chamar esta esse método através de uma outra classe. Crie uma classe qualquer public static void main(String[] args){}
1
2
3
4
5
6
7
8
9
10
11
public class Raiz
{
      public static void(String[] args)
      {
            //Como o método raiz(int x) que criamos na classe OperacaoMatematica é estático (static), podemos chama-lo sem criar um objeto do tipo OperacaoMatematica...
 
            int x = 625;
            int raiz = OperacaoMatematica.raiz(int x);
            System.out.println(raiz);
      }
}
É isso aí! Eu sei que para a maioria aqui, só a informação da equação de pell é nova (Talvez nem isso), mas eu fiz questão de deixar tudo explicadinho por que existem que ainda não tem uma noção boa do que estão fazendo. Espero ter acrescentado um pouco mais de conhecimento a vocês!
Responder

Gostei + 0

23/04/2012

Anderson Rissardi

Para elevar, por um valor definido vc n precisa criar uma constante igual esta na formula, vc pode utilizar
1
double x = i^8;
isso significa q x vai receber i elevado a 8 potência.
Responder

Gostei + 0

23/04/2012

Abner Sella

[quote="elmatador140"]Para elevar, por um valor definido vc n precisa criar uma constante igual esta na formula, vc pode utilizar
1
double x = i^8;
isso significa q x vai receber i elevado a 8 potência.
[img]http://javafree.uol.com.br/files_user/files/6/73/9D/down2.png[/img] [b]-1[/b] tem certeza? QES não em Java: por exemplo, pela minha JVM "2^8" vai resultar em "10"! [url="http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.22.1"][u]Integer Bitwise Operators &, ^, and |[/u][/url]
Responder

Gostei + 0

14/05/2012

Abner Sella

[quote="AlanVncs"]Não sei se funciona o x^y, mas caso não funcione, é só usar
1
Math.pow(x, y);
[...]
leu o que eu postei? Se não acredita , então segue o link para a documentação OFICIAL do Java que eu postei junto com o que eu escrevi! "x^y" NÃO é potenciação, é OU EXCLUSIVO (operação binária)
1
2
1 ^ 1 == 0            Math.pow(1, 1) == 1.0
0 ^ 1 == 1            Math.pow(0, 1) == 0.0
e o [color=#008800]Math.pow[/color] eu já tinha respondido a mais de QUATRO anos atrás (2° resposta desse tópico... ) [color=gray]e mais um pequeno detalhe: para literais em Java se usa o ponto como separador decimal, a vírgula serve para separar argumentos/parâmetros[/color]
Responder

Gostei + 0

25/03/2013

Sidney

[quote="elmatador140"]Para elevar, por um valor definido vc n precisa criar uma constante igual esta na formula, vc pode utilizar
1
double x = i^8;
isso significa q x vai receber i elevado a 8 potência.
Ta errado, ^ significa disjunção exclusiva.
Responder

Gostei + 0

25/03/2013

Douglas Eric

[quote="Wirgulino"][quote="elmatador140"]Para elevar, por um valor definido vc n precisa criar uma constante igual esta na formula, vc pode utilizar
1
double x = i^8;
isso significa q x vai receber i elevado a 8 potência.
Ta errado, ^ significa disjunção exclusiva.
Não havia necessidade....
Responder

Gostei + 0

26/03/2013

Douglas Eric

http://www.tiexpert.net/programacao/java/math.php Esse post ai vai tirar a sua dúvida só lembre de importar a biblioteca CTRL+SHIFT+O.. Att ViniciuS
Responder

Gostei + 0

26/03/2013

Douglas Eric

[quote="ViniciuSBacK"] Esse post ai vai tirar a sua dúvida só lembre de importar a biblioteca CTRL+SHIFT+O..
Importar uma biblioteca que se encontra em java.lang? Onde é que eu dou ctrl+shift+O no java? Na tela do compilador?????
Responder

Gostei + 0

26/03/2013

Douglas Eric

Isso, quando vc colocar essas linhas de códigos que eu te passei no link ela vai da como erro ! Ai vc inclui essa biblioteca pressionando CTRL+SHIFT+O, na no Java! Abraço!
Responder

Gostei + 0

26/03/2013

Douglas Eric

[quote="ViniciuSBacK"]Isso, quando vc colocar essas linhas de códigos que eu te passei no link ela vai da como erro ! Ai vc inclui essa biblioteca pressionando CTRL+SHIFT+O, na no Java!
Isso é muito estranho, porque você não passou nenhuma linha de código, Você passou um artigo, que ensina a usar a [b]java.lang.Math[/b] Sendo uma classe do pacote [b]java.lang[/b], não é necessário usar [color=blue]import[/color]. E não, esse atalho não existe "na no Java" (Talvez em alguma IDE? Mas isso é um tópico sobre Java, não sobre IDEs)
Responder

Gostei + 0

26/03/2013

Venicius Back

Bom na verdade acabei me equivocando, Tava confundindo com JOptionPane.. Eu fiz assim um exercicio com raiz quadrada! private static void raizQuadrada() { String ln1 = JOptionPane.showInputDialog("Informe o numero!"); double n1 = Double.parseDouble(ln1); JOptionPane.showMessageDialog(null, "Resultado = " + Math.sqrt(n1)); } To aprendendo ainda de repente vc precise de um código mais bem escrito, mas se também estiver na mesma situação que eu talvés ajude vc! Abraço!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar