Напишите программу или функцию, которая принимает список выходов из логической функции и выводит код LaTeX для своей таблицы истинности.
Входные данные должны быть помечены как строчные буквы a-z
, а выходные данные должны быть помечены как F
. Длина списка входов всегда будет короче 2^25
, что означает, что количество входов всегда будет меньше 25, поэтому вы можете использовать буквы из строчных букв для имен входов.
вход
Число n
входов и список длины 2^n
двоичных чисел, которые представляют собой выходы логической функции.
Выход
LaTeX-код, который создает таблицу истинности для этой функции. Входные и выходные значения должны быть центрированы в строках. Между заголовком таблицы и ее значениями, а также между входами и выходами должна быть строка, поэтому код должен быть таким, как показано ниже.
\begin{tabular}{c * <NUMBER OF INPUTS>|c}
<INPUTS>&F\\
\hline
<INPUT VECTOR i>&<OUTPUT>\\
\end{tabular}
пример
Входные данные:
2
[0, 0, 0, 1]
Выход:
\begin{tabular}{cc|c}
a & b & F \\
\hline
0 & 0 & 0 \\
0 & 1 & 0 \\
1 & 0 & 0 \\
1 & 1 & 1 \\
\end{tabular}
Который при отображении в LaTeX показывает следующую таблицу истинности
Основные правила
- Это код-гольф , поэтому выигрывает самый короткий ответ в байтах.
- По умолчанию лазейки запрещены.
ccccc
вместо cc
, но оставить в |c
покое ... И да, в этой таблице все пробелы и новые строки являются необязательными, но я бы избегал пустых строк.