Alguém me ajuda aqui por favor!

double result = 0;
Scanner scanf = new Scanner(System.in);

	System.out.print("Informe um Número Inteiro Maior que 0: ");
	int x = scanf.nextInt();

	for (int i = 0, j = 1; i < x; i++, j *= 3) {

		result += 9.0 * j / ((10.0 + i) * Math.sqrt(10.0 + i - 9.0 * j));

	}

	result = 100 - Math.pow(result, 3.0);

	System.out.print("Valor da Série: " + result);

Este código só me retorna NaN.

Quando você escolhe um valor acima de 1 para x, o valor de j na segunda interação do loop chega a 6 e o resultado de 10 + i - 9.0 * j é negativo. Resumindo, você tá tentando calcular a raiz quadrada de um número negativo!

Math.sqrt(10.0 + i - 9.0 * j);

Qual o objetivo do código?

É um exercício sobre séries matemáticas. Obrigado, eu tinha percebido que estava negativo, mas tinha esquecido totalmente que não tem como tirar rais dele.

1 curtida