Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: venadHD en 6 Agosto 2015, 21:36 pm



Título: [LUA]Bug en hackealos.co? Puntajes
Publicado por: venadHD en 6 Agosto 2015, 21:36 pm
Bueno, explico un poco el problema que me ha planteado..
La cosa es que hay que superar una prueba de programador para poder acceder, pero al colocar la respuesta correcta, me dice que es incorrecta, y no entiendo por qué

La pregunta era esta
Citar
El "puntaje" de una palabra es la suma del puntaje de cada letra. El "puntaje" de una letra es la posición en donde se encuentra en una palabra, multiplicada por su posición en el abecedario. Por ejemplo, el puntaje de "acb" es (1*1) + (2*3) + (3*2).
¿Cuál es la suma de las puntuaciones de las permutaciones de "BtKdbjf"?

A lo que al respecto del problema diseñe el siguiente script:

Código
  1. local a = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"}
  2. local t = {"B","t","K","d","j","f"}
  3. suma = 0
  4. ts = ""
  5. for k,v in ipairs(t) do
  6. for sk,sv in ipairs(a) do
  7. if v:lower() == sv then
  8. local LC = ""
  9. if k == #t then
  10. LC = ""
  11. else
  12. LC = " + "
  13. end
  14. ts = ts.."("..tostring(k).."*"..tostring(sk)..")"..LC
  15. suma = suma + (k*sk)
  16. end
  17. end
  18. end
  19. print(tostring(suma)) --Resultado
  20. print(tostring(ts)) --Forma de codigo

Y los print son estos:

Y la pagina me dice que la solucion es incorrecta? Por qué?

Citar
177
(1*2) + (2*20) + (3*11) + (4*4) + (5*10) + (6*6)


Título: Re: [LUA]Bug en hackealos.co? Puntajes
Publicado por: tincopasan en 7 Agosto 2015, 08:09 am
no sé ni de que página hablas, pero partamos de la base de que en el planteo dice permutaciones y vos has sacado de una sola de ellas, habría que hacer la del total de permutaciones permitidas, suponiendo que de entrada es sin repeticiones hay P7 = 7! = 5040 permutaciones por lo cual tu respuesta no está ni cerca. Claro que mi deducción puede estar totalmente errada.

edito: también podría ser que tu diccionario no tiene "ñ" y eso cambiaría el valor de las letras siguientes


Título: Re: [LUA]Bug en hackealos.co? Puntajes
Publicado por: Vaagish en 7 Agosto 2015, 20:12 pm
Hi!

Creo que @tincopasan tiene razon, y ademas pones:

Citar
¿Cuál es la suma de las puntuaciones de las permutaciones de "BtKdbjf"?

Y el array t dice:

Citar
local t = {"B","t","K","d","j","f"}

Soy yo o falta una letra??

Saludos!


Título: Re: [LUA]Bug en hackealos.co? Puntajes
Publicado por: tincopasan en 8 Agosto 2015, 01:26 am
jajaja tiene razón Vaagish te faltó una letra (soy un perro que ni me fijé)
no uso casi lua(solo lo básico de cheatengine y autoplay) pero en python(que también soy un perro) hice el script con ñ
Código
  1. abc={"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9,"j":10,"k":11,"l":12,"m":13,"n":14,
  2.     "ñ":15,"o":16,"p":17,"q":18,"r":19,"s":20,"t":21,"u":22,"v":23,"w":24,"x":25,"y":26,"z":27}
  3. lista=[]
  4. agregar=input("Escriba la cadena: ")
  5. a=agregar.lower()
  6. lista.extend(a)
  7. lugar=1
  8. suma= 0
  9. for x in lista:
  10. parcial=abc[x] * lugar
  11. suma+=parcial
  12. lugar+=1
  13.  
  14. print(suma)

no sé porque pero el editor del foro me cambia la "ñ" de la lista en el modo previsualizar!