Saltar al contenido

Tablas de verdad de LaTeX

Poseemos la mejor solución que encontramos en línea. Deseamos que te sea de ayuda y si quieres comentarnos algo que nos pueda ayudar a crecer hazlo con total libertad.

Solución:

Carbón, 70 bytes

≔tabularζζc⸿⪫✂β⁰Iθ¹&⁰&F\⸿hline⸿Eη⁺⪫⁺⮌EIθI﹪÷κX²λ²⟦ι⟧&¦\⁰endζ

¡Pruébelo en línea! El enlace es a la versión detallada del código. Explicación:

≔tabularζ

Guarda esto string en una variable para evitar la duplicación.

ζ*θc⸿

Imprime la inicial tabular*2c línea (2 o cualquier valor de la primera entrada q posee).

⪫✂β⁰Iθ¹&⁰&F\⸿hline⸿

Consigue el primero q letras de la variable predefinida b e insertar &s entre ellos, luego agregue el &F\ y también imprimir hline en la línea siguiente.

Eη⁺⪫⁺⮌EIθI﹪÷κX²λ²⟦ι⟧&¦\

Recorra los caracteres en la segunda entrada. Para cada uno, su índice se convierte a binario con longitud qel carácter se concatena, el resultado se une con &arena \ se adjunta. Las cadenas resultantes se imprimen implícitamente en líneas separadas.

⁰endζ

Imprime el endtabular. (Los es solo un separador ya que el desverbosificador olvidó insertar un ¦.)

Python 2, 153 bytes

lambda n,l:r'tabularc%s&F\hline%sendtabular'%(n,q(map(chr,range(97,97+n))),r'\'.join(q(bin(2**n+i)[3:]+x)for i,x in enumerate(l)))
q='&'.join

¡Pruébelo en línea!

Salidas como

tabularca&b&F\hline0&0&0\0&1&0\1&0&0\1&1&1endtabular

tabular y endtabular se usan como cortos begintabular y endtabular, según este consejo de golf de LaTeX. los *2c es una abreviatura para definir 2 columnas.

Haskell, 164 155 bytes

s%f=((:"&")=<

¡Pruébelo en línea!

unlines                               -- take a list of strings and join it with NL.
                                      -- the strings are:
   "\tabular"++('c'<$[1..n])++"" -- tabular definition with n times 'c'
   take n['a'..]%'F'                  -- table header
   "\hline"                          -- hline
   zipWith(%)(mapM id$"01"<$[1..n])r  -- table content
   ["\endtabular"]                   -- end of tabular definition

Table header and content are built via function '%'

s%f=                                  -- take a string 's' and a char 'f'
    ((:"&")=<

Editar: usando tabular en vez de begintabular (robado de la respuesta de @xnor).

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Respuestas a preguntas comunes sobre programacion y tecnología