Problemas con funcion recursiva

Dudas y comentarios sobre otros lenguajes de programación. Si algún lenguaje recibe suficientes preguntas le añadimos nueva categoría.
Responder
Mensaje
Autor
raffita_4
Mensajes: 2
Registrado: 20/11/2013 5:43 am

Problemas con funcion recursiva

#1 Mensaje por raffita_4 » 20/11/2013 5:52 am

buenas...me plantaron un problema para hacer en matlab (no se si todos lo conocen o trabajaron con el)

Escriba una función recursiva abase10 que reciba como parámetro un número entero positivo N
expresado en base b, y lo pase a base 10. El número N estará representado por un vector, donde
cada elemento representa un dígito de N en base b.

Ejemplos:
>> y= abase10([1, 0, 1, 0, 0], 2)
y = 20
>> y= abase10([7, 4, 3], 8)
y = 483


alguno puede ayudarme a resolverlo?? por favor..muchas gracias

Masakre
Mensajes: 249
Registrado: 06/06/2012 10:52 am

#2 Mensaje por Masakre » 23/11/2013 1:27 pm

Una idea que podrías seguir:

- Recibes el vector N y b.

- Si size(N) es 0:
--> devuelves y = 0

- Sino, haces esto:
--> masSignificativo = N(1);
--> N(1) = []
-->devuelves y = masSignificativo*b^(size(N)-1)+abase10(N)

Es decir, tomas el número del vector N que está en la posición 1, lo multiplicas por la base elevada al exponente que corresponde y le vas sumando lo que continúa para los números siguientes del vector N.
De hecho cuando llamas nuevamente a la función, le pasas N, porque ya antes se borró el primer elemento.

raffita_4
Mensajes: 2
Registrado: 20/11/2013 5:43 am

#3 Mensaje por raffita_4 » 25/11/2013 3:59 am

muchas gracias por la ayuda

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado