Вы находитесь на странице: 1из 3

EJERCICIOS DE RECURSIVIDAD

Triangulo recursivo:
Se tiene un triangulo hecho de bloques. En la cima del triangulo hay 1 bloque, la siguiente lnea
tiene 2 bloques, la que sigue tiene 3 bloques y as sucesivamente.
Calcule en forma recursiva (sin ciclos o multiplicacin) el nmero total de bloques que se deben
utilizar para completar el triangulo de acuerdo al numero de lneas indicadas.
EJEMPLO:
Triangulo(0) -> 0
Triangulo(1) -> 1
Triangulo(2) -> 3
Triangulo(3) -> 10
Etc.

SumaDigitos recursivo:
Dado un entero no negativo, regrese la suma de los dgitos en forma recursiva (sin ciclos).
Recuerde que la operacin mod(%) entre 10 retorna el digito mas a la derecha (por ejemplo
126%10= 6), mientras que dividir (/) entre 10 elimina el digito mas a la derecha (por ejemplo
126/10=12).

Calcule en forma recursiva (sin ciclos o multiplicacin) la suma de todos los dgitos en un numero.
sumaDigitos(126) -> 9
sumaDigitos(49) -> 13
sumaDigitos(10) -> 1
Etc


Potencia recursivo:
Dada la base y potencia que son ambos de valor 1 o mas, calcule en forma recursiva (sin ciclos) el
valor de la base elevado a la potencia, por ejemplo, potenciaN(3,2) es 9 (3 al cuadrado).

potenciaN(3,1) -> 3
potenciaN(3,2) -> 9
potenciaN(3,3) -> 27
Etc.

Orejas recursivo 1:
Tenemos cierto numero de conejos y cada conejo cuenta con dos orejas. Se quierecalcular el total
de orejas de todos los conejos en forma recursiva (sin ciclos o multiplicaciones).

Orejas recursivo 2:
Tenemos cierto numero de conejos en lnea, numerados 1,2, Los conejos impares (1,3,) tienen
orejas normales 2. Los conejos pares (2,4,6) diremos que tienen 3 orejas, porque estn
levandando un pie. Calcule de manera recursiva el numero de orejas en la lnea de conejos (sin
ciclos o multiplicaciones).
orejasLinea(0) -> 0
orejasLinea (1) -> 2
orejasLinea(2) -> 5
Etc.





SOLUCIONES PARA CADA EJERCICIO:
Triangulo recursivo:
Public int pirmide(int lneas) {
If (lineas == 0)
Return 0;
Else
Return lineas + piramide(lineas - 1);
}


SumaDigitos recursivo:
public int sumaDigitos(int n) {
if ((n%10 == 0)&&(n==0))
return n;
else
return (n%10) + sumaDigitos(n/10);
}

Potencia recursivo:
public int potenciaN(int base, int n) {
if (n == 0)
return 1;
else
return base * potenciaN(base, n-1);
}

Orejas Recursivo 1:

public int orejas(int conejos) {
if (conejos == 0)
return 0;
else
return 2 + orejas(conejos - 1);
}

Orejas Recursivo 2:
public int orejasLinea(int bunnies) {
if (bunnies == 0)
return 0;
else
if (bunnies%2 != 0)
return 2 + orejasLinea(bunnies -1);
else
return 3 + orejasLinea(bunnies - 1);
}

Вам также может понравиться