Tenho em exercício para calcular a potencia sem usar Math.pow,
não sei oque está errado…
Obrigado
/*Faça um método que receba dois valores (X e Z), o método deverá calcular e imprimir o valor deXz (x elevado a z), não deve ser utilizado nenhum método pronto do java, você deverá implementartoda a lógica para o cálculo.*/importjavax.swing.*;publicclassExe4{//metodo para calculo de Potenciapublicstaticintexp(intn1,intn2){inti=0,total=0;while(i<=n2){total=n1*n2;i++;}returntotal;}//metodo principalpublicstaticvoidmain(Stringargs[]){//Declaração de Variáveisintnum1,num2;//Entrada de Dados do Usuárionum1=Integer.parseInt(JOptionPane.showInputDialog("Digite um número"));num2=Integer.parseInt(JOptionPane.showInputDialog("Digite outro número"));//Exibição dos dadosJOptionPane.showMessageDialog(null,exp(num1,num2));}}
Tenho em exercício para calcular a potencia sem usar Math.pow,
não sei oque está errado...
Obrigado
/*Faça um método que receba dois valores (X e Z), o método deverá calcular e imprimir o valor deXz (x elevado a z), não deve ser utilizado nenhum método pronto do java, você deverá implementartoda a lógica para o cálculo.*/importjavax.swing.*;publicclassExe4{//metodo para calculo de Potenciapublicstaticintexp(intn1,intn2){inti=0,total=0;while(i<=n2){total=n1*n2;i++;}returntotal;}//metodo principalpublicstaticvoidmain(Stringargs[]){//Declaração de Variáveisintnum1,num2;//Entrada de Dados do Usuárionum1=Integer.parseInt(JOptionPane.showInputDialog("Digite um número"));num2=Integer.parseInt(JOptionPane.showInputDialog("Digite outro número"));//Exibição dos dadosJOptionPane.showMessageDialog(null,exp(num1,num2));}}
Dado que a exponenciação é a multiplicação de uma dada base por ela mesma tantas vezes quanto indicar o expoente:
/*Faça um método que receba dois valores (X e Z), o método deverá calcular e imprimir o valor deXz (x elevado a z), não deve ser utilizado nenhum método pronto do java, você deverá implementartoda a lógica para o cálculo.*/importjavax.swing.*;publicclassExe4{//metodo para calculo de Potenciapublicstaticintexp(intn1,intn2){inti=0,total=0;while(i<=n2){total+=n1*n1;i++;}returntotal;}//metodo principalpublicstaticvoidmain(Stringargs[]){//Declaração de Variáveisintnum1,num2;//Entrada de Dados do Usuárionum1=Integer.parseInt(JOptionPane.showInputDialog("Digite um número"));num2=Integer.parseInt(JOptionPane.showInputDialog("Digite outro número"));//Exibição dos dadosJOptionPane.showMessageDialog(null,exp(num1,num2));}}
D
douglastc
Vc esqueceu de multiplicar e ir somando, ficaria assim:
total = total + (n1*n2);
sergiotaborda
Lembrando que qualquer numero elevado a 0 é 1 e que 1 elevando a qualquer expoente é 1
e que n elevado a p significa nnn*n…*n p vezes
temos: