Biblia jest jedną z najbardziej wpływowych książek, jakie kiedykolwiek napisano, i jest często cytowana jako najlepiej sprzedająca się książka wszechczasów . Zostało napisane przez około 40 różnych autorów na przestrzeni setek lat zanim został skompilowany w jego obecnej formie. Ciekawe jest to, że Biblia jest podzielona. Jest on podzielony na 2 różne testamenty, które są podzielone na 66 mniejszych książek, z których każda jest podzielona na mniejsze rozdziały, z których każdy jest podzielony na poszczególne wersety.
Pomyślałem, że fajnym wyzwaniem będzie zakodowanie liczby rozdziałów w każdej książce w możliwie najkrótszym kodzie. Dlatego na dzisiejsze wyzwanie musisz napisać program lub funkcję, która pobiera jedną z książek jako dane wejściowe i wyświetla liczbę rozdziałów w tej książce zgodnie z The King James Version .
Możesz wziąć IO w dowolnym rozsądnym formacie, na przykład odczyt / zapis STDIN / STDOUT lub plik, argumenty funkcji / zwracane wartości, monitowanie użytkownika itp. Są dozwolone. Wkładem będzie zawsze jedna z 66 ksiąg Biblii i tylko małe litery. Oznacza to, że jeśli otrzymasz jakiekolwiek inne dane wejściowe, niezdefiniowane zachowanie jest dozwolone. Ponieważ istnieje tylko 66 możliwych danych wejściowych i wyjściowych, wszystkie zostały tutaj podane, zgodnie ze stroną Wikipedii na temat rozdziałów biblijnych w 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
Ponieważ wyzwanie polega na znalezieniu optymalnego sposobu zakodowania każdej nazwy książki i liczby rozdziałów, użycie jakichkolwiek wbudowanych elementów, które zawierają informacje o Biblii, jest niedozwolone. Ponieważ jednak interesujące byłoby sprawdzenie, które języki mają takie wbudowane funkcje, możesz udostępnić drugą, nie konkurującą wersję wraz z odpowiedzią. Pobieranie informacji ze źródeł zewnętrznych również nie jest dozwolone (żadna ze standardowych luk nie jest dozwolona, ale pomyślałem, że dobrze byłoby wyraźnie o tym wspomnieć).
Jak zwykle jest to wyzwanie związane z golfem , więc postaraj się stworzyć możliwie najkrótszy program (mierzony w bajtach). Miłej zabawy w golfa!
enklactwyjść z tego wyzwania, ale nie mogę ...