Библия является одной из самых влиятельных книг, когда-либо написанных, и обычно цитируется как самая продаваемая книга всех времен . Он был написан примерно 40 различными авторами за сотни лет до того, как был скомпилирован в его нынешнюю форму. Но в Библии интересно то, как она разделена. Он разделен на 2 разных завета, которые разбиты на 66 небольших книг, каждая из которых разбита на более мелкие главы, каждая из которых разбита на отдельные стихи.
Я подумал, что было бы забавно попытаться закодировать количество глав в каждой книге в кратчайший возможный код. Таким образом, для сегодняшнего испытания вы должны написать программу или функцию, которая принимает одну из книг в качестве входных данных и выводит количество глав в этой книге в соответствии с версией короля Джеймса .
Вы можете использовать IO в любом разумном формате, например, чтение / запись STDIN / STDOUT или файла, аргументы функции / возвращаемые значения, запрос пользователя и т. Д. - все это разрешено. Ввод всегда будет одной из 66 книг Библии и только в нижнем регистре. Это означает, что если вам дается какой-либо другой ввод, допускается неопределенное поведение. Поскольку существует только 66 возможных входов и выходов, все они представлены здесь, согласно странице Википедии о библейских главах в версии короля Джеймса :
genesis 50
exodus 40
leviticus 27
numbers 36
deuteronomy 34
joshua 24
judges 21
ruth 4
1 samuel 31
2 samuel 24
1 kings 22
2 kings 25
1 chronicles 29
2 chronicles 36
ezra 10
nehemiah 13
esther 10
job 42
psalms 150
proverbs 31
ecclesiastes 12
song of solomon 8
isaiah 66
jeremiah 52
lamentations 5
ezekiel 48
daniel 12
hosea 14
joel 3
amos 9
obadiah 1
jonah 4
micah 7
nahum 3
habakkuk 3
zephaniah 3
haggai 2
zechariah 14
malachi 4
matthew 28
mark 16
luke 24
john 21
acts 28
romans 16
1 corinthians 16
2 corinthians 13
galatians 6
ephesians 6
philippians 4
colossians 4
1 thessalonians 5
2 thessalonians 3
1 timothy 6
2 timothy 4
titus 3
philemon 1
hebrews 13
james 5
1 peter 5
2 peter 3
1 john 5
2 john 1
3 john 1
jude 1
revelation 22
Поскольку эта задача заключается в поиске оптимального способа кодирования каждого названия книги и количества глав, использование любых встроенных функций, дающих информацию о Библии, не допускается. Однако, поскольку было бы интересно узнать, на каких языках есть такие встроенные функции, не стесняйтесь поделиться второй неконкурентной версией вместе с вашим ответом. Получение информации из внешних источников также недопустимо (ни одна из стандартных лазеек не допускается, но я подумал, что было бы полезно явно упомянуть об этом).
Как обычно, это задача для игры в гольф , поэтому постарайтесь создать как можно более короткую программу (измеряемую в байтах). Удачи в гольф!
enklact
выйти из этого испытания, но я не могу ...