elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Enunciado ejercicio en C (no entiendo lo que me piden)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Enunciado ejercicio en C (no entiendo lo que me piden)  (Leído 1,620 veces)
sora_ori

Desconectado Desconectado

Mensajes: 269



Ver Perfil
Enunciado ejercicio en C (no entiendo lo que me piden)
« en: 27 Marzo 2014, 18:58 pm »

Hola compañeros, tengo un ejercicio en C que no se muy bien lo que me pide. Os dejo el enunciado para ver si alguien es tan amable de decirme que es lo que pide  ;D


Citar
Hacer un programa en lenguaje C que pedirá un número entero positivo "n".
Hacer una función: int funcioRe (int n)
  • Si n es 1 escribirá "n" por pantalla y devolverá un 1.
En caso contrario:
  • Si "n" es par, entonces escribirá "n" por pantalla y llamará a funcioRe () con
el valor n / 2, (hay que pensar lo que retornara en este caso)
 
  • Si es impar entonces escribirá "n" por pantalla y llamará a funcioRe () con el
valor 3n +1 (hay que pensar lo que retornara en este caso)
El problema consiste en saber el número de llamadas que se hacen hasta obtener el valor 1.

Ejemplo: si introducimos: 22
El algoritmo escribirá:
22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1
Total: 16 llamadas

Gracias!


En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Enunciado ejercicio en C (no entiendo lo que me piden)
« Respuesta #1 en: 27 Marzo 2014, 20:17 pm »

* Tienes que pedir un número al usuario
* Ese numero se lo pasas a una funcion llamada funcioRe que tienes que implementar con las siguientes reglas:
    1. Si n es 1, entonces escribes el valor de n  (es decir, 1 ) por pantalla y haces que la función retorne 1
    2. Si n es par, escribes el valor de n, calculas la mitad de n y llamas a funcioRe con el valor calculado.
    3. Si n no es par y no es 1, calculas 3n+1 y llamas a funcioRe con el valor calculado.
    4. Dado que lo que se quiere es contar el número de saltos, en los casos 2 y 3 habrá que hacer retornar el valor devuelto por la llamada a funcioRe más uno.
* Una vez el codigo vuelve al main tienes que imprimir el número total de llamadas recursivas que ha habido.

Si lo que quiere es código... antes tienes que hacer un aporte que demuestre un mínimo de trabajo.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Ejercicio] Aca tienen un ejercicio para practicar « 1 2 3 »
Programación Visual Basic
Dreamaker 20 16,563 Último mensaje 5 Septiembre 2010, 02:57 am
por TGa.
ejercicio conclase pag 70 ejercicio 1
Programación C/C++
flony 2 4,556 Último mensaje 17 Octubre 2010, 12:16 pm
por Akai
Cambiar el enunciado de un ejercicio
Programación C/C++
CarloxTheBoy 0 1,404 Último mensaje 13 Julio 2012, 10:09 am
por CarloxTheBoy
Tarea de simulación, es largo el enunciado
Programación C/C++
jmleighton 1 1,589 Último mensaje 7 Abril 2014, 17:19 pm
por Eternal Idol
(wxMaxima) Consulta sobre enunciado de un ejercicio (conjuntos y ordenación)
Dudas Generales
class_OpenGL 0 2,179 Último mensaje 4 Noviembre 2016, 00:04 am
por class_OpenGL
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines