Calcular a partir de um número qualquer o resultado da série : 1/n + 1/n-1 + 1/n-2 ... + 1/1

7 respostas
danielmlds

Então pessoal não estou conseguindo resolver este exercício, alguém poderia dar uma ajuda?

7 Respostas

danielmlds

Acho que meu erro foi onde esta de vermelho…

import javax.swing.JOptionPane;

public class Execrec2 {

public static void main(String arqs[]){

int n;

n = Integer.parseInt(JOptionPane.showInputDialog(Informe o valor));

System.out.println("A soma é "+soma(n));}

public static int soma(int num){

int s=0;

if(num>=1){

return 1;

}

else{

[color=red]s = (1/soma(num-1))+s; [/color]

return s;

}

}

}
danielmlds

Utilizando recursão… obrigado!

felipebonezi

Danielmlds, favor postar seu código entre [ code][ /code], sem os espaços, para melhor entendimento de seu código…

felipebonezi
if(num>=1)
return 1;
}
else{
s = (1/soma(num-1))+s;
return s;
}
}

Pense na lógica… Se eu digitar ‘10’, ele retornará SOMENTE uma vez ‘return 1’ e o programa finalizará…
E se eu digitar um numero menor que 1, por exemplo, zero, acontecerá uma thread onde ficara numa recursividade infinita dando slack de memória.

danielmlds

Obrigado pela ajuda!

pmlm

Já agora, s não deve ser um int…

danielmlds

Então, quando coloco ‘s’ como ‘float’ dá erro…já tentei colocar todas variaveis como 'float, mas continua dando erro.

Criado 25 de março de 2011
Ultima resposta 25 de mar. de 2011
Respostas 7
Participantes 3