|
#1
|
||||
|
||||
|
Pon a prueba tu ingenio. Reta a tu mente Este es un tema en el que cualquier usuario puede participar. Intentaré poner varios tipos de problemas para que sean resueltos. Como la mayor parte de la programación, los pondré en inglés, porque ese es su idioma original, pero si alguien no le entiende postea y le pongo que se tiene que hacer en español. La mayoría de las personas dicen que por esto se tiene que empezar a programar y es en gran parte la realidad porque mejorará tus técnicas de programación. El problema es que no a todo mundo le gusta pensar, es más... es mayoría las que buscan todo más fácil. Explicaré un poco antes de empezar: Cita:
Para los que sepan programar, copien y peguen su código, no es necesario que digan paso por paso lo que hacen. Para los que no saben programar, expliquen los pasos, es decir... si van a resolver uno matemático digan por ejemplo: Cita:
Ahora explicaré cómo estarán los problemas (o la mayoría, porque recuerden, no son míos, están en páginas que tienen su propio "calificador") Base de problemas:
Spoiler
Aquí dejo los primeros: Fase 1:
Spoiler
Fase 2:
Spoiler
Extras:
Spoiler
Nota importante: Recuerden que los algoritmos se resuelven para cualquier caso no sólo el de prueba, es decir... en el programa viene por ejemplo que la suma de 2+3=5 pero ustedes deben hacer el programa para resolver cualquier caso (excepto en los que indiquen que es específico, cosa que normalmente pasa únicamente en los matemáticos). Última edición por Llulian fecha: 31-jul-2012 a las 05:54. |
|
#2
|
||||
|
||||
|
Soluciones. No necesariamente son las mejores soluciones, pero fueron aceptadas y son funcionales. Fase 1 (No ver hasta no intentar, sólo son ejemplos por si no saben resolverlo) [SPOILER] Problema básico: [SPOILER] Código PHP:
mientras sea un entero (int) lo resolverá. [/SPOILER] Matemático [SPOILER] En este sólo pondré la solución "manual" es decir, no pondré el código. Sin embargo, no es la solución más óptima, pero como quiero ver si alguien ya entiendo cómo hacer las cosas, por ahora sólo pondré la que parece más sencilla. Explicaré el problema: Te darán un número y lo que se tiene que hacer es la suma desde el 1 hasta el número que te den. Por ejemplo, si te dan un 5 tienes que sumar 1+2+3+4+5 e imprimir la respuesta 15. Así que la solución manual sería así de sencilla. Con el número que te den sumas del 1 hasta ese número y te da el resultado. [/SPOILER] Difícil Por X GEu2 X [SPOILER] Código PHP:
[/SPOILER] Última edición por felomeno fecha: 07-jul-2011 a las 08:21. |
|
#3
|
|||
|
|||
|
Fase 1:
[SPOILER] Básico: [spoiler] Código PHP:
Matemático: [spoiler] Código PHP:
Dificil [SPOILER] Código PHP:
[/SPOILER] Espero que asi sea, saludos! PD:Estoy aprendiendo python y la programación orientada a objetos es nueva para mi, cualquier error les pido disculpas! Última edición por betokscr fecha: 11-jul-2011 a las 22:16. |
|
#4
|
||||
|
||||
|
fase 1
[SPOILER] basico [SPOILER] Código PHP:
matematico [SPOILER] Código PHP:
dificil [SPOILER] Código PHP:
[/SPOILER] Última edición por X GEu2 X fecha: 13-sep-2011 a las 05:19. |
|
#5
|
||||
|
||||
|
Cita:
No soy muy bueno, así que tendré que preguntar algo. for x in range(int(self.numero)): En esa línea, el valor asignado de x cuál sería? Al principio 0 y se iría sumando 1 hasta llegar a self.numero? o hasta dónde? Otra cosa que sí puedo decirte desde ahorita, para los algoritmos no es necesario que imprimas: "Ingrese un número", eso el calificador te lo daría mal, simplemente si te dicen que te darán números, léelos sin imprimir nada. Saludos y espero tu respuesta. El básico está bien, aunque otra vez puedes omitir cuando imprimes pidiendo los números. Cita:
El include es con minúscula. Saludos, lo demás está bien tanto el básico como el matemático. Ahora piensa en esto. Aunque el matemático está bien, tu resultado es lineal, es decir tu programa hará tantas operaciones como el número que te den. Si te dan 100 harás 100 operaciones (un poco más contando el for, las sumas y eso). Pero hay una forma de hacerlo en 1 operación (en realidad 3 o 4 si cuentas todo, pero ya es mucho mejor). Se te ocurre cuál? Última edición por felomeno fecha: 07-jul-2011 a las 07:39. |
|
#6
|
|||
|
|||
|
Cita:
No sabia eso, las próximas respuestas lo pongo de una vez sin entrada de datos ![]() Saludos Última edición por betokscr fecha: 07-jul-2011 a las 07:45. |
|
#7
|
||||
|
||||
|
Cita:
Entonces tu programa está bien. El juez lo pondría mal sólo por tus impresiones a la hora de pedir el número pero el proceso está bien. La entrada de datos si debe de estar, es decir, tu programa sí debe recibir los números, pero no tienes que imprimir nada para pedirlos, sólo leelos y ya. |
|
#8
|
|||
|
|||
|
Cita:
Puedes traducir el ultimo ejercicio?, no entiendo nada :S Saludos EDIT: Ya mis códigos están corregidos, ahora no piden los números y agregue links para ver las salidas correspondientes. Última edición por betokscr fecha: 07-jul-2011 a las 08:08. |
|
#9
|
||||
|
||||
|
Cita:
[SPOILER]General Election Descripción La elección general se ha terminado, ahora es tiempo de contar los votos. Hay n (2<=n<=5) candidatos y m (1<=m<=100) regiones. Dado el número de votos de cada candidato por región, determina cuál candidato es el ganador (el que tenga más votos). Especificaciones de entrada La primera línea de la entrada tendrá un entero T que será el número de casos Cada caso empieza con un entero n y n que inican el número de candidatos y el número de regiones. Las siguientes m líneas contendrán n números enteros V1, V2, ... Vn que es el número de votos por candidato i. Output Specification Para cada caso, imprime una línea con el número del candidato ganador. Sample Input 2 3 3 159 213 450 512 890 993 215 420 397 2 5 40 64 35 12 102 58 43 15 79 41 Sample Output 3 1 Te explicaré la entrada. Primero pone un 2, es decir, que analizarás 2 casos diferentes (en esto tienes que tener cuidado de limpiar variables y esas cosas para volver hacer el proceso) Después te dice que hay 3 candidatos y 3 regiones La primer línea indica la región 1 y le da 159 votos al candidato uno 213 votos al candidato dos y 450 al candidato tres las siguientes dos líneas son respectivamente la segunda y la tercera región. Hasta ahí termina el caso y debes de dar un resultado. Para el segundo caso te dice que son 2 candidatos y 5 regiones En la primera línea te dice que le da 40 votos al candidato uno y 64 al candidato dos y así sucesivamente. Al terminar las 5 líneas deberás imprimir el segundo resultado. Si quieres imprimir todos los resultados al final (n resultados, es decir el número de casos que te pidió al principio) lo puedes hacer pero tendrías q[/SPOILER]ue guardarlos, por lo que lo más recomndable es imprimir el resultado en cuanto lo tengas y después analizar el siguiente caso |
|
#10
|
||||
|
||||
|
Cita:
|
|
|
Temas Similares para: Algoritmos || Pon a prueba tu ingenio
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Problemas de Ingenio | tynch0s | Juegos | 25 | 16-ago-2010 22:24 |
| adivinansas y preguntas de ingenio | Juliogro | Cafetería | 3 | 24-may-2009 20:12 |
| Juegos de ingenio ---> Club | requiem | Clubs | 8 | 05-ago-2008 05:13 |
| Preguntas de ingenio!!! | @nGeItOs!!!! | Cafetería | 4 | 30-nov-2007 13:39 |
| Juego de ingenio | demeter | Cafetería | 2 | 13-ago-2007 22:18 |