Il tuo compito è di scrivere un programma di lunghezza pari , che stampa un quadrato di arte ASCII (descritto di seguito), che aumenta la sua lunghezza laterale di 1 unità ogni volta che il codice sorgente originale viene incollato nel mezzo del codice corrente.
È abbastanza difficile per me definire questo compito molto bene, quindi ti faccio un esempio:
Supponiamo che il tuo codice iniziale fosse
CODE
e che fosse stampato:0
Quindi, inserisci
CODE
al centro: il tuo codice diventaCOCODEDE
e dovrebbe essere stampato:00 00
Reinserisci
CODE
nel mezzo: il codice diventaCOCOCODEDEDE
e deve essere stampato:000 000 000
E così via. La tua risposta dovrebbe teoricamente funzionare dopo un numero qualsiasi di iterazioni, ma capisco se, a causa delle limitazioni delle prestazioni linguistiche, non può ragionevolmente superare una determinata soglia.
Alcune regole:
Puoi usare qualsiasi ASCII stampabile (32-127) come personaggio da usare per il tuo quadrato. La tua scelta deve essere costante (dovresti usare lo stesso carattere per ogni iterazione).
Il quadrato di output iniziale deve avere una lunghezza laterale 1 .
Un quadrato ascii-art è definito come una stringa con N linee (separate da N-1 avanzamenti di riga / nuove righe) e con ogni riga contenente N copie del carattere scelto.
Il tuo output non può contenere spazi bianchi estranei, tranne una nuova riga finale.
È possibile utilizzare i valori predefiniti per input e output (sono consentiti programmi o funzioni, ma non gli snippet).
La parte centrale del codice viene definita come il punto in cui il codice sorgente può essere diviso in due parti in modo che le due siano uguali.
Le risposte verranno assegnate in base alla lunghezza del programma originale , in byte. Vince il conteggio dei byte più basso. In caso di pareggio, vince la risposta inviata in precedenza.
È possibile utilizzare questo programma per applicare gli inserimenti senza farlo manualmente.