Il messaggio di Arecibo è un messaggio radio interstellare del 1974 che trasportava informazioni di base sull'umanità e sulla Terra inviate all'ammasso stellare globulare M13 nella speranza che l'intelligenza extraterrestre potesse riceverlo e decifrarlo ... Il messaggio consisteva in 1.679 cifre binarie, circa 210 byte ...
Il numero 1.679 è stato scelto perché è un semiprime (il prodotto di due numeri primi), che deve essere disposto in modo rettangolare come 73 righe per 23 colonne. La disposizione alternativa, 23 righe per 73 colonne, produce un insieme incomprensibile di caratteri (come tutti gli altri formati X / Y).
Questo è il messaggio con il colore aggiunto per evidenziare le sue parti separate. L'attuale trasmissione binaria non portava informazioni sul colore.
Il tuo compito è quello di produrre il messaggio Arecibo nella disposizione esatta 23x73 mostrata nell'immagine. Uno di questi formati di output è accettabile:
- Testo, usando un carattere per uno e un altro per zeri (usando le solite regole per la separazione delle righe)
- Un array 2D di due valori distinti
- Un'immagine 23x73 con due colori distinti
- Un flusso ininterrotto di 1679 elementi con due valori distinti (ovvero uno dei formati sopra indicati, ma piatto).
- Un numero intero a 1679 bit. Indica l'ordine di bit e byte (endianness) nella tua soluzione.
Per comodità, ecco una versione copia-pastable (anche un esempio di output in formato testo):
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
Se la tua lingua, per qualche motivo, ha un built-in per il messaggio Arecibo, non puoi usarlo.
In bocca al lupo!
AGGIORNAMENTO: ho accettato la risposta 05AB1E poiché era la prima ad essere più breve del messaggio originale. Non lasciarti dissuadere da nuove soluzioni.
AGGIORNAMENTO 2019-09-09: la risposta accettata è stata spostata in una nuova risposta 05AB1E, poiché oscura la precedente risposta 05AB1E. Lo stesso punto vale per l'aggiornamento precedente; nuove soluzioni sono ancora ben accette.