Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Concurso De Programacion

Iniciado por MA]Mestre, 09 de Marzo de 2005, 04:06:21 PM

« anterior - próximo »

sés

Cita de: "_Grey"memset!? sale por pantalla y punto, ni siquiera tengo array, es mas, la unica "funcion" que se llama es el printf. :P  :P
Y scanf(), que esa es sí que es obligatoria ^_^

pogacha: Ya me imaginaba porqué lo decías, pero lo mío ni tiene que ver con ninguna guerra. Simplemente llevaba bastante tiempo rascando y he llegado a algo que no creo que pueda reducir... a no ser que le dedicara bastante más tiempo.
Ese MP3 no vale tanto esfuerzo :P
Soy indeciso... ¿o no?

sés

 ¿Alguien ha recibido la confirmación de que su código ha llegado?
Soy indeciso... ¿o no?

shephiroth

 Por dios, como habeis llegado a esos numeros...yo no puedo exprimirlo mas.....

Cabecera (include y main) 29 bytes
Declaracion variables 12 bytes
Pedir N 15 bytes
N correcto 27 bytes
Generar matriz posicion por posicion 78 bytes
Visualizar con formato 46 bytes
Cerrar bucles y demas 11 bytes

Total = 29+12+15+27+78+46+11=218 bytes >_<

Alguien me dice que hago mal??? >_<

sés

 Dos ejemplos:

include + main -> 25 bytes
Pedir N -> 14 bytes

El resto se puede reducir bastante más.
Soy indeciso... ¿o no?

shephiroth

 Wenoo, vamos mejorando, visualizar con formato 17 bytes :)

Gracias ses, ya voy reduciendolos poco a poco xDD

_Grey

 Yo no he recibido mail ni de comfirmacion ni de reenvio por que la primera vez no puse el include, de todas formas no me importa mucho, poco despues lo reduci mas y claro, ya no puedo enviarlo y seguro que alguien dara con ello ....

CitarAlguien me dice que hago mal??? >_<

No haces nada mal, es mas lo haces demasiado bien, intenta meter codigo donde no suele estar, busca un algoritmo mas eficiente .... no crees la matriz B)  etc, etc...

CitarWenoo, vamos mejorando, visualizar con formato 17 bytes

Alineado a la izquierda, no?

Saludos.

shephiroth

 Si, alineado a la izquierda, con 3 posiciones xDD

CitarNo haces nada mal, es mas lo haces demasiado bien, intenta meter codigo donde no suele estar, busca un algoritmo mas eficiente .... no crees la matriz...

En ningun momento creo q la matriz.....la presento en pantalla, no me creo matriz ni nada

sés

 
Citarprintf("%d",x);
Eso son 15 caracteres... y no está alineado ni tiene el salto de línea. ¿Dices que haces todo en 17?
Soy indeciso... ¿o no?

shephiroth

 Wenas.

En parte teneis razon, me venció la emocion, son 26 bytes (me olvide contar el salto de linea q lo tengo fuera de bucle xDD), pero si, son 26 bytes, y aunque doy muchas pistas el mostrar el dato formateado son 17 bytes exactos.

zupervaca

 printf("%.3d",x);

a esto te refieres? no lo estais usando todos?  :huh:  

shephiroth

 Eso (que yo sepa) alinea a la derecha....hay q alinearlo a la izquierda.......

P.D: No pongas el codigo, que lo busquen, q mira q es cambiar 1 solo byte xDD

samsaga2

 Pues yo no logro bajarlo de 306 bytes. El unico algoritmo que he encontrado requiere matrices... por lo que he visto hay un algoritmo para cuadrados impares, otro para pares y otro para pares multiplos de cuarto. Por otro lado no se como haceis imprimir el resultado en 26 bytes porque aparte del printf con el resultado hay que imprimir los saltos de linia del recuadro.

En mi caso tengo dos includes stdio.h (para poder usar fscanf) y string.h (para usar memset) eso son ya 39 bytes. Hacer un fscanf del stdin para leer el lado del cuadrado son 18 bytes, llevamos 57. Despues imprimir el recuadro en mi caso son 58 bytes, total 115 bytes. Añadimos el main y el return (el return obligatorio porque asi lo dice el C99) son 20bytes, eso queda en un mnimo obligatorio para todo quisqui de 135bytes. Dicen que lo han hecho el programa en 150bytes lo que quiere decir que en 15bytes han montado el algoritmo... soy un poco exceptico :-D. Como mucho puedo creerme que imprimen el recuadro en 26bytes lo que quedan 42bytes para el algoritmo.

Ya que no querreis pegar el programa al menos pegar el resultado...

sés

 A mí no me salen 135 bytes de mínimo ni de coña. Me sale menos.

Si quitas el return, como mucho te dará un warning, y ya dijeron que no importaban los warnings si el programa funcionaba.

Y no pego el resultado por si a alguien le da alguna pista ^_^. Cuando acabe el concurso lo pegaré por aquí... aunque no gane :(
Soy indeciso... ¿o no?

manko

 #include supone 20 bytes siempre
main(){} supone 8 bytes
scanf("%i",&n); supone 15 bytes
printf("%i",n); supone 15 bytes

total = 58 bytes para pedir un num y sacarlo por pantalla

por lo que he leido un tio lleva 129 bytes!!

129 - 58 = 71 bytes para:

declarar variables                                    
comprobar que 2 < n > 10 y es impar      
ejecutar algoritmo cuadrado mágico
imprimir correctamente                            

yo no soy capaz de sacarlo en tan poco.

samsaga2

Cita de: "manko"#include supone 20 bytes siempre
main(){} supone 8 bytes
scanf("%i",&n); supone 15 bytes
printf("%i",n); supone 15 bytes

total = 58 bytes para pedir un num y sacarlo por pantalla

por lo que he leido un tio lleva 129 bytes!!

129 - 58 = 71 bytes para:

declarar variables                                    
comprobar que 2 < n > 10 y es impar      
ejecutar algoritmo cuadrado mágico
imprimir correctamente                            

yo no soy capaz de sacarlo en tan poco.
Uno siempre aprende cosas nuevas  :)  no sabia que scanf por defecto ya coge la entrada de stdin yo estaba haciendo:

fscanf(stdin, "%d", &n);

Me ha dejado quitar todos los includes y ahora se me queda el programa en 250bytes. Solo puedo reducirlo mas si existe algun algoritmo para crear el cuadrado que no requiera una matriz (cosa que no he encontrado).






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.