聖書は、これまでに書かれた中で最も影響力のある本の1つであり、史上最高の販売本として一般的に引用されています。現在の形式にコンパイルされる前に、数百年にわたって約 40人の異なる著者によって書かれました。しかし、聖書の興味深い点は、聖書の分割方法です。それは2つの異なる遺言に分割され、それらは66の小さな本に分割され、それぞれがより小さな章に分割され、それぞれが個々の詩に分割されます。
各本の章の数を可能な限り短いコードでエンコードしようとするのは楽しい挑戦だと思いました。したがって、今日の課題では、本の1つを入力として受け取り、その本の章の数をThe King James Versionに従って出力するプログラムまたは関数を作成する必要があります。
STDIN / STDOUTまたはファイルの読み取り/書き込み、関数の引数/戻り値、ユーザーへのプロンプトなど、すべての合理的な形式でIOを使用できます。入力は常に聖書の66冊の本の1つであり、小文字のみです。これは、他の入力が与えられた場合、未定義の動作が許可されることを意味します。The King James Versionの聖書の章に関するWikipediaのページによると、可能な入力と出力は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
この課題は、すべての書籍名と章数をエンコードする最適な方法を見つけることであるため、聖書に関する情報を提供する組み込み機能を使用することは許可されていません。ただし、どの言語にそのような組み込み関数があるかを見るのは興味深いので、回答と一緒に2番目の非競合バージョンを共有してください。外部ソースからの情報の取得も許可されていません(標準の抜け穴はどれも許可されていませんが、明示的に言及することは有益だと思いました)。
いつものように、これはコードとゴルフのチャレンジなので、可能な限り最短のプログラム(バイト単位)を作成するようにしてください。ゴルフをお楽しみください!