[LUA]Bug en hackealos.co? Puntajes

Iniciado por venadHD, 6 Agosto 2015, 21:36 PM

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

venadHD

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
CitarEl "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 (lua) [Seleccionar]
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"}
local t = {"B","t","K","d","j","f"}
suma = 0
ts = ""
for k,v in ipairs(t) do
for sk,sv in ipairs(a) do
if v:lower() == sv then
local LC = ""
if k == #t then
LC = ""
else
LC = " + "
end
ts = ts.."("..tostring(k).."*"..tostring(sk)..")"..LC
suma = suma + (k*sk)
end
end
end
print(tostring(suma)) --Resultado
print(tostring(ts)) --Forma de codigo


Y los print son estos:

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

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

tincopasan

#1
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

Vaagish

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:

Citarlocal t = {"B","t","K","d","j","f"}

Soy yo o falta una letra??

Saludos!

tincopasan

#3
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 (python) [Seleccionar]
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,
    "ñ":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}
lista=[]
agregar=input("Escriba la cadena: ")
a=agregar.lower()
lista.extend(a)
lugar=1
suma= 0
for x in lista:
parcial=abc[x] * lugar
suma+=parcial
lugar+=1

print(suma)


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