Reiventando math.random e math.sqt

3 respostas
U

Reinventando a roda, kkk ;)

int exp (int a, int b) {
		int result = 1;
	
		for (int i = 0; i <= b; i++) {
			result *= a;
		}
		return result;
	}

	double raiz (double x) {
		double result = 0;
		for (double i = 0; result <= x; i += 0.01){
			result = i * i;
		}
		return result;
	}

// Usando os métodos reinventados.
	String bhaskara (int a, int b, int c) {
		int delta = exp(b, 2) - (4 * a * c);

		double x1 = ((- b + raiz(delta)) / (2 * a));
		double x2 = ((- b - raiz(delta)) / (2 * a));
		
		return "X1: "+x1+"\nX2: "+x2+"";
	}

3 Respostas

ViniGodoy

E se o delta for negativo?

U

Não pensei nessa hipótese, kk :slight_smile:

if (delta <=0) {

return math.sqt;

}

kkk

ViniGodoy

Se o delta for menor que zero, você tem duas hipóteses. Lançar uma exception dizendo que sua função não trata números irracionais ou, calcular o número irracional. Nesse caso, você não poderá retornar Double na sua função e terá que criar uma classe para isso.

Criado 3 de abril de 2011
Ultima resposta 5 de abr. de 2011
Respostas 3
Participantes 2