Título: Ayuda con programa en C. Publicado por: EdgarKrieger en 30 Octubre 2018, 19:18 pm Hola comunidad, ahora les tengo un problema que para algunos les será bastante fácil, otros no se jejejeje como a mi, lo que sucede es que tengo que hacer un programa en C que dados tres números p,s,r se debe determinar el número d de días, es decir, si se tiene una profundidad d=10 y se sube al día s=5 y se resbala r=2, cuantos días se tarda en recorrer la profundidad establecida. El resultado es d=3 días, mi problema es que no me funciona para otros casos y solamente puedo resolver este problema por medio de si condicionales (if-else), el código que hice es este:
Código
lo intente con otras formulas y la función while, pero aún así no me funciona. Código
Alguien que me pueda ayudar, se lo agradecería mucho, es un ejercicio que tengo que realizar, pero nada más no me sale. Gracias por su ayuda. Título: Re: Ayuda con programa en C. Publicado por: AlbertoBSD en 30 Octubre 2018, 20:01 pm Hola que tal, estos problemas tienen trampa, generalmente si los tratas de resolver de forma iterativa (Simulando con while la cantidad de dias transcurridos haciendo las operaciones de suma y resta del avance diario) tarda mucho, bueno si y no, con la velocidad actual de las computadoras no se siente, pero este tipo de problemas es para concursos donde miden el tiempo de uso del CPU y la cantidad de tiempo que tarda el programa en responder.
Por que la verdad es muy distinto, realizar un simple par de sumas, restas y una division a realizar un ciclo while con 1000000 repeticiones de sumas y restas. La solución a este problema es de forma Matemática. Ejemplo, si te dicen que Sube S cantidad de metros por dia, y de noche baja R cantidad. En un ciclo completo cuantos metros T totales realmente sube? Código: T = S - R Entonces tenemos que por dia avanza T metros. Entonces el minimo numero de D dias para completar una distancia P es de Código: D = P /T Solo necesitamos la parte entera de ese numero, es decir redondeamos hacia el Entero mas Bajo Por ejemplo un resultado de 9.9 se redondea a 9. Saludos Título: Re: Ayuda con programa en C. Publicado por: EdgarKrieger en 31 Octubre 2018, 00:58 am Muchas gracias por tu ayuda AlbertoBSD, pues si estaba algo perdido jejeje, seguiré practicando mucho más.
Saludos. |