send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Underc0de Weekend [Correcciones FINALES] Reto #1

  • 10 Respuestas
  • 2870 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado 79137913

  • *
  • Co Admin
  • Mensajes: 618
  • Actividad:
    10%
  • Reputación 10
  • 4 Esquinas
    • Ver Perfil
    • Doors.Party
    • Email
  • Skype: fg_mdq@hotmail.com
« en: Octubre 31, 2014, 08:26:23 am »
HOLA!!!

Resultados de codigos entregados para los primeros 100 numeros primos:

Fermino v1: 24984 iteraciones, resultado correcto.

Fermino v2: 24984 iteraciones, resultado correcto.

Azav v1: 5745 iteraciones, resultado correcto.

Azav v2: 3481 iteraciones, resultado correcto.

2Fac3R: [ERROR] El codigo no devuelve los primeros 100 numeros primos, Output:
Código: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 0 6 16 3077807600 3077807492 3077807488 3077462358 3077810296 3077772892 3077778712 0 3077467751 3077976052 3077978376 1 134519376 3077902505 3077978816 3074909459 1 1 0 3077296832 3077807492 3077807600 3077808804 3076452340 2 1 1 3074909803 3076453348 3074729160 3215560036 3077978376 3077813704 134519360 3076452340 3074909925 134514048 134519565 134519408 3076453348 3077808756 3074909878 134519360 134514299 134514048 134519565 134519408
iteraciones: 99

Once: 2377 iteraciones, resultado correcto. Iteraciones reales: 270 , Iteraciones anidadas: 2107.

rush: [ERROR] el codigo no calcula los primeros x numeros primos calcula sobre una base de aleatoreidad y aparte es tu funcion primos es un check if it prime, entonces aunque te arregle el codigo y quite la parte de aleatoreidad por un r++; tu codigo daria los numeros primos por debajo de 100, no los primeros 100.

rollth: [ERROR] el codigo no calcula los primeros x numeros primos, sino que calcula los numeros primos menores a x.

Expermicid: [INVALIDADO] Iteraciones 100, utiliza un poco de magia negra por que no calcula realmente los primos, sino que los solicita a una funcion embebida. Tu codigo es sublime, pero con solo poner Prime.first X ya tenes los primeros X numeros primos sin mas problemas y sin tantas lineas.

OLM: [ERROR] El codigo es bueno, pero empieza a calcular los primos desde 7, lamento informar que el primer primo es 2. Output:
Código: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
[7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563]
[Q]3rV[0]: [ERROR] Buen codigo, me gusto pero lamentablemente el codigo no calcula los primeros x numeros primos, sino que calcula los numeros primos menores a x.

bocha: [ERROR] El codigo no calcula primos.

rollth: [ERROR] El codigo no devuelve los primeros 100 primos (Checkea que figura el 4 en vez del 3). Output:
Código: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Introduce un numero: 2
4
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
211
223
227
229
233
239
241
251
257
263
269
271
277
281
283
293
307
311
313
317
331
337
347
349
353
359
367
373
379
383
389
397
401
409
419
421
431
433
439
443
449
457
461
463
467
479
487
491
499
503
509
521
523
541

d3ztr3za: [ERROR] El codigo no calcula los primeros 100 fijos, se usa un array que contiene a los primeros 4.

OLM v2: 145530 iteraciones, resultado correcto.

Quitando codigos erroneos e invalidados por ahora nos queda asi:
1er Puesto: Once 2377 iteraciones
2do Puesto: Azav v2 3481 iteraciones
3er Puesto: Fermino v1 y v2 24984 iteraciones
4to Puesto: OLM v2: 145530 iteraciones



GRACIAS POR LEER!!!
« Última modificación: Octubre 31, 2014, 08:32:44 am por 79137913 »
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scout Team*                                                   You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Desconectado OLM

  • *
  • Underc0der
  • Mensajes: 57
  • Actividad:
    0%
  • Reputación 0
  • No hay justicia si la guerra está justificada.
    • Ver Perfil
    • Hackpuntes
    • Email
  • Skype: jjavierolmedo
  • Twitter: @JJavierOlmedo
« Respuesta #1 en: Octubre 31, 2014, 08:56:14 am »
¿Os importaría publicar el código para ver como lo hicisteis?
Podría mejorar el mio si el for solo fuese hasta la mitad, no es necesario comprobar los números mayores a la mitad del numero a comprobar.
Yo dejo el mio, he utilizado Python.

Código: Python
  1. def calcular_primos(n):
  2.         array = []
  3.         primo = True
  4.         num = 2
  5.         while n > 0:
  6.                 for i in range(2,num):
  7.                         if num%i == 0:
  8.                                 primo = False
  9.                 if primo == True:
  10.                         array.append(num)
  11.                         n-=1
  12.                 primo = True
  13.                 num+=1
  14.         return array
  15.  

Saludos.
Nunca consideres el estudio como una obligación, sino como una oportunidad para adentrarse en el maravilloso mundo del saber.

Desconectado 79137913

  • *
  • Co Admin
  • Mensajes: 618
  • Actividad:
    10%
  • Reputación 10
  • 4 Esquinas
    • Ver Perfil
    • Doors.Party
    • Email
  • Skype: fg_mdq@hotmail.com
« Respuesta #2 en: Octubre 31, 2014, 10:12:33 am »
HOLA!!!

Codigos Ganadores:
1er Puesto: Once 2377 iteraciones
Código: Python
  1. import math
  2. p = 3
  3. primos = [2]
  4. n = input("Ingrese n: ")
  5. while n > len(primos):
  6.     if not filter(lambda x: not p % x, range(3, int(math.sqrt(p)) + 1, 2)):
  7.         primos.append(p)
  8.     p += 2
  9. print primos
2do Puesto: Azav v2 3481 iteraciones
Código: Python
  1.     listaprimos = [2]
  2.     n = int(input("¿Cuantos números primos desea calcular?\n>"))
  3.     k = 3
  4.     while len(listaprimos) < n:
  5.             var = True
  6.             for primo in listaprimos:
  7.                     if primo > (k // 2):
  8.                             break
  9.                     if (k % primo) == 0:
  10.                             var = False
  11.                             break
  12.             if var:
  13.                     listaprimos.append(k)
  14.             k += 2
  15.     print(listaprimos)
  16.     input()
3er Puesto: Fermino v1 y v2 24984 iteraciones
Código: PHP
  1.     <?php
  2.             function Primo($N)
  3.             {
  4.                     //if($N == -1 || $N == 0 || $N == 1) // Si no es primo ni compuesto devolvemos NULL (Adaptado para la ocasión, como comenzamos la iteración en 2, esto se puede bypassear);
  5.                     //      return null;
  6.      
  7.                     for($i = 2; $i < $N; $i++) // Testeamos el resto de una división, desde 2, hasta $N -1;
  8.                             if(($N % $i) == 0) // Si es 0 (Encontramos un divisor además de 1 o $N), devolvemos FALSE;
  9.                                     return false;
  10.      
  11.                     return true; // Sino, devolvemos TRUE;
  12.             }
  13.      
  14.             function Primos($X)
  15.             {
  16.                     for($j = 2, $i = 0; $i < $X; $j++) // Si aún no encontramos $X primos ($i = cantidad de primos encontrados; $j = 0, aumenta en cada iteración) (Comenzamos la iteración en 2, sabiendo que ni 0 ni 1 son primos);
  17.                     {
  18.                             if(Primo($j) === true) // Si es primo;
  19.                             {
  20.                                     $Data[] = $j; // Lo agregamos al array de datos;
  21.                                     $i++; // Aumentamos el contador de primos encontrados;
  22.                             }
  23.                     }
  24.      
  25.                     return $Data;
  26.             }
  27.      
  28.      
  29.             You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login(Primos(20));
4to Puesto: OLM v2: 145530 iteraciones
Código: Python
  1. def calcular_primos(n):
  2.         array = []
  3.         primo = True
  4.         num = 2
  5.         while n > 0:
  6.                 for i in range(2,num):
  7.                         if num%i == 0:
  8.                                 primo = False
  9.                 if primo == True:
  10.                         array.append(num)
  11.                         n-=1
  12.                 primo = True
  13.                 num+=1
  14.         return array


Conste que esos son los codigos enviados, todos fueron editados para calcular la cantidad de iteraciones.


Mencion especial:
Expermicid creo un codigo que realmente es el mas simple y usa magia negra, solo para que sepan como fue:
Código: Ruby
  1.     require 'mathn'
  2.     lista = []
  3.     print "Ingrese la cantidad de numero primos que desea "
  4.     n = gets.chomp
  5.     pri = Prime.instance
  6.     pri.each do |prime|
  7.             lista << prime
  8.             puts prime # linea que muestra los numeros
  9.             break if lista.size == n.to_i
  10.     end
Yo le comente que con solo usar Prime.first X ya tenia el ejercicio resuelto.

Felicitaciones a todos los participantes.
GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scout Team*                                                   You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Desconectado rollth

  • *
  • Moderador Global
  • Mensajes: 874
  • Actividad:
    21.67%
  • Reputación 16
  • El conocimiento es libre.
    • Ver Perfil
    • Whateversec
    • Email
  • Twitter: @RoloMijan
« Respuesta #3 en: Octubre 31, 2014, 11:30:28 am »
Aqui va mi codigo arreglaod, de verdad, quise hacerlo mas rapido y lo arruine, cuantas interacciones hace numeros? que no se como mirarlo
Código: C
  1. /* Numeros primos */
  2.  
  3. #include <stdio.h>
  4.  
  5. int main() {
  6.  
  7. int num2,x,primo,mitad;
  8. primo=1;
  9.  
  10. You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login("Introduce un numero: ");
  11. You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login("%d",&num2);
  12.  
  13. for (int num1=1;primo<=num2;num1++){
  14. mitad=(num1/2);
  15. x=0;
  16.  
  17. for(int i=1;i<=num1&&x<=2;i++)
  18. {
  19.     if(i==mitad&&num1>=20){
  20.       i=num1-1;
  21.     }
  22.     if(num1%i==0){
  23.     x++;
  24.     }
  25. }
  26.  
  27.  
  28. if(x==2)
  29. {
  30.     You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login("%d\n",num1);
  31.     primo++;
  32.  
  33. }
  34. }
  35.  
  36.  
  37. }
« Última modificación: Octubre 31, 2014, 01:31:14 pm por Snifer »

Rollth
Buen hacker mejor persona.
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Desconectado Once

  • *
  • Underc0der
  • Mensajes: 383
  • Actividad:
    1.67%
  • Reputación 0
    • Ver Perfil
    • El blog de Once
  • Twitter: @don_once
« Respuesta #4 en: Octubre 31, 2014, 01:39:37 pm »
:O creí que lo que hacía filter no contaba. Podría haber sacado todo con menos iteraciones con este código:

Código: Python
  1. import math
  2. iteraciones = 0
  3. p = 3
  4. primos = [2]
  5. n = input("Ingrese n: ")
  6. while n > len(primos):
  7.     iteraciones += 1
  8.     for x in xrange(3, int(math.sqrt(p)) + 1, 2):
  9.         iteraciones += 1
  10.         if not p % x:
  11.             break
  12.     else:
  13.         primos.append(p)
  14.     p += 2
  15.    
  16. print primos
  17. print iteraciones

1277 iteraciones

Saludos!






You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Desconectado 79137913

  • *
  • Co Admin
  • Mensajes: 618
  • Actividad:
    10%
  • Reputación 10
  • 4 Esquinas
    • Ver Perfil
    • Doors.Party
    • Email
  • Skype: fg_mdq@hotmail.com
« Respuesta #5 en: Octubre 31, 2014, 03:37:39 pm »
HOLA!!!

Rolth, tu codigo hace 27201 iteraciones.

Once, las iteraciones del bucle while superior no cuentan , por que son tomadas en cuenta en las iteraciones internas del bucle for, por ende ese codigo lo realiza en 1007 iteraciones, felicitaciones!

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scout Team*                                                   You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Desconectado Azav

  • *
  • Underc0der
  • Mensajes: 23
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #6 en: Octubre 31, 2014, 07:46:56 pm »
Estaba esperando los resultados, tenía esperanza de ganar pero Once me superó, ¡felicitaciones Once!

Lo que me extrañó bastante es que de 11 participantes sólo 4 hayan enviados códigos válidos, eso quiere decir que tal vez la instrucciones no se entregaron de manera muy clara o detallada. Hay que mejorar eso la próxima vez.

Respecto a los retos, sigan así, la iniciativa es muy buena. Este primer reto fue bastante sencillo, ideal para que todos pudieran participar, seguramente los siguientes irán siendo un poco más complejos pero es importante que no dejen de lado a mucha gente.

¡Saludos!

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5301
  • Actividad:
    40%
  • Reputación 29
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« Respuesta #7 en: Octubre 31, 2014, 08:27:50 pm »
En unas horas subo el #2!!


Desconectado Expermicid

  • *
  • Underc0der
  • Mensajes: 457
  • Actividad:
    0%
  • Reputación 0
  • _-Expermicid-_
    • Ver Perfil
  • Skype: expermicid.xd
« Respuesta #8 en: Octubre 31, 2014, 08:39:47 pm »
Espero que el próximo no ser descalificado por mago oscuro xD jaja

Saludos

Desconectado facufangio

  • *
  • Underc0der
  • Mensajes: 152
  • Actividad:
    0%
  • Reputación 0
  • < SE SIEMPRE EL MEJOR, PERO NO TE LO CREAS />
    • Ver Perfil
    • Email
« Respuesta #9 en: Octubre 31, 2014, 09:16:49 pm »
jajaja Expermicid, usa tus poderes mágicos!!!


Saludos

Desconectado rush

  • *
  • Underc0der
  • Mensajes: 378
  • Actividad:
    0%
  • Reputación 7
    • Ver Perfil
  • Skype: iruxh1773
« Respuesta #10 en: Noviembre 02, 2014, 05:17:02 am »
Jajajaja parece ser que no entendí muy bien el reto entonces xD!, iba a enviar otro programa, pero pensé que solo se podía enviar una sola vez!
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login


 

¿Te gustó el post? COMPARTILO!



Reto "Crackea el Menú"

Iniciado por Zekro

Respuestas: 2
Vistas: 1583
Último mensaje Noviembre 29, 2012, 05:57:24 pm
por Zekro
[Solucionario] Reto "Descubre la frase"

Iniciado por q3rv0

Respuestas: 10
Vistas: 3739
Último mensaje Agosto 13, 2012, 04:24:40 pm
por hdbreaker
Un Crackme que hice hace tiempo, haber si alguien lo resuelve [RETO]

Iniciado por LauBuru

Respuestas: 2
Vistas: 1769
Último mensaje Abril 04, 2016, 12:07:45 pm
por rush
[PROXIMAMENTE] Reto de esteganografia con premio en $$ [REGISTRESE AQUI]

Iniciado por 79137913

Respuestas: 37
Vistas: 8152
Último mensaje Agosto 13, 2013, 09:42:47 am
por 79137913
[RETO] Wargame Lógica-Cifrado - Nivel Medio

Iniciado por fermino

Respuestas: 9
Vistas: 3127
Último mensaje Septiembre 28, 2017, 11:05:07 am
por xyz