Wiadomość Arecibo to międzygwiezdna wiadomość radiowa z 1974 r., Niosąca podstawowe informacje o ludzkości i Ziemi, wysłana do gromady gwiazd M13 w nadziei, że inteligencja pozaziemska może ją odebrać i odszyfrować ... Wiadomość składała się z 1679 cyfr dwójkowych, około 210 bajtów ...
Liczba 1679 została wybrana, ponieważ jest to półpierwsza (iloczyn dwóch liczb pierwszych), która ma być ułożona prostokątnie jako 73 rzędy przez 23 kolumny. Alternatywne ustawienie, 23 wiersze po 73 kolumny, tworzy niezrozumiały zestaw znaków (podobnie jak wszystkie inne formaty X / Y).
To jest wiadomość z dodanym kolorem, aby wyróżnić poszczególne części. Rzeczywista transmisja binarna nie zawierała informacji o kolorze.
Twoim zadaniem jest wyprowadzenie komunikatu Arecibo w dokładnie takim układzie 23x73, jak pokazano na obrazku. Każdy z tych formatów wyjściowych jest dopuszczalny:
- Tekst, używając jednego znaku dla jednych, a drugiego dla zer (przy użyciu zwykłych reguł rozdzielania wierszy)
- Tablica 2D dwóch różnych wartości
- Obraz 23x73 z dwoma wyraźnymi kolorami
- A nieprzerwany strumień 1679 pozycji o dwóch różnych wartościach (tj. Dowolnym z powyższych formatów, ale płaski).
- 1679-bitowa liczba całkowita. Wskaż kolejność bitów i bajtów (endianness) w swoim rozwiązaniu.
Dla Twojej wygody, oto wersja do wklejenia (również przykładowy wynik w formacie tekstowym):
00000010101010000000000
00101000001010000000100
10001000100010010110010
10101010101010100100100
00000000000000000000000
00000000000011000000000
00000000001101000000000
00000000001101000000000
00000000010101000000000
00000000011111000000000
00000000000000000000000
11000011100011000011000
10000000000000110010000
11010001100011000011010
11111011111011111011111
00000000000000000000000
00010000000000000000010
00000000000000000000000
00001000000000000000001
11111000000000000011111
00000000000000000000000
11000011000011100011000
10000000100000000010000
11010000110001110011010
11111011111011111011111
00000000000000000000000
00010000001100000000010
00000000001100000000000
00001000001100000000001
11111000001100000011111
00000000001100000000000
00100000000100000000100
00010000001100000001000
00001100001100000010000
00000011000100001100000
00000000001100110000000
00000011000100001100000
00001100001100000010000
00010000001000000001000
00100000001100000000100
01000000001100000000100
01000000000100000001000
00100000001000000010000
00010000000000001100000
00001100000000110000000
00100011101011000000000
00100000001000000000000
00100000111110000000000
00100001011101001011011
00000010011100100111111
10111000011100000110111
00000000010100000111011
00100000010100000111111
00100000010100000110000
00100000110110000000000
00000000000000000000000
00111000001000000000000
00111010100010101010101
00111000000000101010100
00000000000000101000000
00000000111110000000000
00000011111111100000000
00001110000000111000000
00011000000000001100000
00110100000000010110000
01100110000000110011000
01000101000001010001000
01000100100010010001000
00000100010100010000000
00000100001000010000000
00000100000000010000000
00000001001010000000000
01111001111101001111000
Jeśli z jakiegoś powodu Twój język ma wbudowane narzędzie do wiadomości Arecibo, nie możesz go używać.
Powodzenia!
AKTUALIZACJA: Zaakceptowałem odpowiedź 05AB1E, ponieważ jako pierwsza była krótsza niż oryginalna wiadomość. Nie pozwól, aby zniechęciło Cię to do nowych rozwiązań.
AKTUALIZACJA 2019-09-09: Zaakceptowana odpowiedź została przeniesiona do nowej odpowiedzi 05AB1E, ponieważ zastępuje poprzednią odpowiedź 05AB1E. Ten sam punkt dotyczy poprzedniej aktualizacji; nowe rozwiązania wciąż mile widziane.