La Bible est l'un des livres les plus influents jamais écrits et couramment cité comme le livre le plus vendu de tous les temps . Il a été écrit par environ 40 auteurs différents sur des centaines d'années avant d'être compilé dans sa forme actuelle. Mais ce qui est intéressant dans La Bible, c'est la façon dont elle est divisée. Il est divisé en 2 testaments différents, qui sont divisés en 66 livres plus petits, qui sont chacun divisés en chapitres plus petits, qui sont chacun divisés en versets individuels.
J'ai pensé que ce serait un défi amusant d'essayer de coder le nombre de chapitres de chaque livre dans le code le plus court possible. Donc, pour le défi d'aujourd'hui, vous devez écrire un programme ou une fonction qui prend l'un des livres en entrée et génère le nombre de chapitres de ce livre selon The King James Version .
Vous pouvez prendre IO dans n'importe quel format raisonnable, par exemple lire / écrire STDIN / STDOUT ou un fichier, les arguments de fonction / valeurs de retour, inviter l'utilisateur, etc. sont tous autorisés. L'entrée sera toujours l'un des 66 livres de la Bible, et seulement en minuscules. Cela signifie que si vous disposez d'une autre entrée, un comportement non défini est autorisé. Puisqu'il n'y a que 66 entrées et sorties possibles, elles sont toutes fournies ici, selon la page de Wikipedia sur les chapitres de la Bible dans The King James Version :
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
Étant donné que ce défi consiste à trouver le moyen optimal d'encoder chaque nom de livre et nombre de chapitres, il n'est pas autorisé d'utiliser des éléments intégrés qui fournissent des informations sur la Bible. Cependant, comme il serait intéressant de voir quelles langues ont de telles fonctionnalités, n'hésitez pas à partager une deuxième version non concurrente avec votre réponse. La récupération d'informations à partir de sources externes n'est pas non plus autorisée (aucune des failles standard n'est autorisée, mais j'ai pensé qu'il serait utile de mentionner explicitement celle-ci).
Comme d'habitude, c'est un défi de code-golf , alors essayez de faire le programme le plus court possible (mesuré en octets) comme vous le pouvez. Amusez-vous au golf!
enklactme sortir de ce défi mais je ne peux pas ...