2573165 0 #1 Posted September 27, 2013 Eu sei que é um script simples, mas como consegui fazer de forma simplificado estou postando aqui. function anagrama(word) local char = {} for i = 1, word:len() do char[i] = 1 end while true do local str = "" for k, v in pairs(char) do str = word:sub(v, v) .. str end print(str) for k, v in pairs(char) do if char[k] < #char then char[k] = char[k] + 1 break else if k == #char then return else for index = 1, k do char[index] = 1 end end end end end end anagrama("ABC") Share this post Link to post Share on other sites
dalvorsn 46 #2 Posted September 29, 2013 Isso é bacana, lembro quando tentei fazer também, fiz uma gambiarra danada kkk Mas ai, só pra constar, anagrama é quando você reorganiza as letras de uma(ou mais) palavras, mas não as altera em numero, se haviam dois 'A', voce não pode aparecer com 3 depois Da uma olhada na versao do baxnie, fico bem bacana: function cn(c, n, text) text = text or '' local bkpText = text for i=1,#c do text = text .. string.sub(c, i, i) if string.len(text) < n then cn(c, n, text) else print(text) end text = bkpText end end local c = "abcdefg" local n = 7 cn(c, n) Share this post Link to post Share on other sites