Recursividade soma de dois naturais

1 resposta
java
I

Podemos definir, para todo número natural positivo, o
antecessor de um número n como:

ant(n) = n  1.

Usando esta definição, podemos definir a soma de dois
números naturais, digamos x e y, como:

x, se y=0; ou x + 1 + ant(y), se y > 0.

Baseado nesta definição, escreva uma função recursiva para calcular a soma de dois números naturais.

  1. Escreva uma função recursiva para contar

Fiz da forma abaixo:

public static int somaDois(int x, int y) {
	if (y == 0)
		return x; //caso o y seja 0, obviamente não soma nada e retorna o x;
	
	return x +somaDois(x,y-1); //Aqui está a dúvida

}

public static void main(String[] args) {
	Scanner entrada = new Scanner(System.in);

	
	int x = 7;
	int y = 10;

	int result = somaDois(x, y);

	System.out.println(result);

}

1 Resposta

D

Acho que é:

// [x + 1] + [ant(y)]
return somaDois(x + 1, ant(y));
Criado 3 de dezembro de 2016
Ultima resposta 4 de dez. de 2016
Respostas 1
Participantes 2