Recupere el código fuente mutado (para ladrones)


8

Este es el hilo conductor del desafío principal Recuperar el código fuente mutado (enlace) . Si ha descifrado con éxito la respuesta de un policía, publique su solución como respuesta a esta pregunta.

Como recordatorio, aquí están las reglas de ladrón del desafío principal nuevamente:

El ladrón intentará cambiar el programa del policía (que completa la Tarea # 1) en un programa que complete la Tarea # 2 (no necesariamente el programa original escrito por el policía) en la distancia de edición especificada por el policía.

Un envío ya agrietado no se puede volver a agrietar (solo el primer ladrón que descifra un envío obtiene crédito).

Después de descifrar un envío, haga lo siguiente:

  • Publique una respuesta a la pregunta adjunta (enlace) de este desafío , proporcionando el idioma, su solución y un enlace a la respuesta original.
  • Deje un comentario con el texto "Agrietado" que se vincula a su respuesta publicada.
  • Edite la respuesta del policía si tiene privilegios de edición (si no los tiene, espere hasta que otra persona con los privilegios necesarios lo haga por usted o sugiera una edición).

Y puntuación:

Si un ladrón descifra con éxito el envío de un policía, la puntuación del ladrón aumenta en la distancia de edición de ese envío. Por ejemplo, un ladrón que descifra un envío con una distancia de edición de 3 y uno con una distancia de 5 gana 8 puntos. El ladrón con el puntaje más alto gana. En caso de empate, el ladrón que obtuvo el puntaje primero gana.

Tabla de clasificación

Todavía no hay envíos descifrados.


2
¿Quién está manteniendo la clasificación? Y también, creo que la puntuación del lector debería aumentar más si la distancia es menor, ya que eso me parecería más difícil.
Timtech

Respuestas:


3

Python 2, FryAmTheEggman

x=n=1;j=input();
while j>2:
    x,n=n,x+n;j-=1;
    ##while~-all(n%i for i in range(2,n)):n+=1;
print n

Usó 12 ediciones. Pon un extra #para hacerlo 13.


Debe usar las 13 ediciones, pero eso se puede solucionar fácilmente agregando otro carácter en el comentario.
Pomo de la puerta

Maldición, olvidé que los comentarios eran una cosa: / Originalmente cambié el rango para comenzar en 1 y
eliminé

Si desea @FryAmTheEggman no hay comentarios, se puede cambiar el rango de ser de na n, de modo que las allevalúa a True. Pero lo ~-Truees False, así que el tiempo no se ejecutará.
Sp3000

No "quería" ningún comentario, simplemente hizo esto mucho más fácil de lo que pensé que sería. Además de eso, es una idea mucho más ordenada de lo que se me ocurrió;)
FryAmTheEggman

3

Python 2, Sp3000

from fractions import*
n=input()
k,=P=[1]
while n>len(P):k+=1;z=reduce(lambda x,y:x+y,P[~1:]);P+=[z]#*(gcd(z,k)<2)
print P[-1]

En una inspección más cercana, esto es ligeramente diferente al enfoque que tenía originalmente. Interesante ...
Sp3000


2

Python 3, Sp3000

x=n= int(input())       # 3
P = [1,1]               #+2 = 5
k = 2
while n >=len(P):       #+1 = 6
 k += 1
 for x in P:
  if k%x ==~0: break    #+1 = 7
 else: P += [P[-2]+x]   #+7 = 14
print(x)

1

Python 3, matsjoyce

a,c,n=1,1,int(input())
while n-1:
 #c+=1
 ##########list(map(c.__mod__,range(2,46))).count(0):
 a,c=a+c,a
 n-=1
print(c)

El programa Fibonacci ya estaba extrañamente ahí ... solo necesitaba 5 ediciones para obtenerlo.


Sí, lo diseñé desde el extremo equivocado (y lo publiqué, hasta que Sp3000 lo descubrió), por lo que se ve un poco extraño.
matsjoyce


1

Pitón 2, Pietu1998

f=lambda p,i:p if p[45:]else f(p+[i]#f all(i%q for q in p[1:])else
,p[-1]+i)
print f([1,1,1],2)[input('!')]

Utilicé 9 ediciones para obtener un programa de Fibonacci.


@ MartinBüttner Tengo 12. Vea el argumento sin sentido para input.
feersum

Bueno ... creo que esto generaría el !. Aún aceptando esto como válido, puedes poner cualquier carácter en el comentario,
PurkkaKoodari

@ Pietu1998 ¿Qué tiene de malo tener un aviso sobre la entrada del usuario?
feersum

Nada, pero esto es operacionalmente diferente.
PurkkaKoodari

1

JAGL, globby

T~2]d]2C{cSdc+c]}wSP

Puede que no sea el enfoque más eficiente, casi definitivamente no es el código del policía, pero funciona, y está a 12 de distancia.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.