Crea un programma che emetta una stringa di Hello World ("Hello world", "Hello, World" ecc.) E un codice sorgente. L'output viene scritto su stdout o equivalente. Hello world string è integrata nel codice sorgente.
Ad esempio, l'output per potrebbe essere
(some source code here)hello world(some source code here)
Quando l'output viene compilato o interpretato di nuovo, dovrebbe creare un output simile, ma la stringa di Hello World deve avere punteggiatura o maiuscole diverse. Ad esempio, l'esempio precedente potrebbe creare il seguente output
(some source code here)hello, wORld(some source code here)
Ogni "(un po 'di codice sorgente qui)" in questi esempi può cambiare dopo ogni esecuzione, oppure può essere lo stesso.
L'output deve contenere una stringa world hello valida esattamente una volta. Può contenere qualsiasi numero di stringhe hello world non valide. Il codice sorgente può contenere qualsiasi quantità di commenti e la stringa ciao mondo può essere incorporata nei commenti. Il primo programma può avere zero o una stringa di ciao valida, ma non di più.
La seguente punteggiatura è valida:
hello, world
hello world
helloworld
Qualsiasi capitalizzazione è accettabile. Ad esempio, queste sono stringhe hello world valide:
Hello, world
hellO WORld
HELLoworlD
Queste stringhe non sono valide:
Hello world
Hello(newline)world
Hello,world
Hello, Steve
Il programma non riesce non appena viene soddisfatta una delle seguenti condizioni:
- Emette una stringa di Hello World che è stata emessa durante alcune precedenti esecuzioni,
- l'output non è più un codice sorgente valido nella stessa lingua, oppure
- l'output non contiene esattamente una stringa hello world valida.
Il tuo programma non è valido per questo concorso a meno che almeno due prime esecuzioni non abbiano esito positivo. Ciò significa che il terzo output può essere non valido. L'output del tuo programma potrebbe non essere casuale. La prima esecuzione dovrebbe sempre creare lo stesso secondo output, la seconda esecuzione dovrebbe sempre creare lo stesso terzo output, ecc.
Il punteggio viene calcolato come quantità di byte nel codice sorgente del programma iniziale. Il punteggio più basso vince.
Si applicano i seguenti bonus (fino al -60%):
- -5% * (N - 2), dove N è l'indice dell'esecuzione dopo il quale il programma produce un output non valido. Questo bonus arriva al -50%. Se il tuo programma ha successo almeno 12 volte, otterrai il bonus massimo.
- -10%, se i tuoi output (incluso il primo codice sorgente) includono tutte e tre le alternative di punteggiatura valide.
L'invio deve includere il primo codice sorgente e deve contenere anche gli output delle esecuzioni riuscite. Se il programma ha esito positivo più di 12 volte, aggiungi l'output per 12 esecuzioni.
Esempio
La riga successiva è il primo codice sorgente. Quando lo eseguiamo, è la prima esecuzione.
hello world(some source code here)
La riga successiva è l'output dal primo codice codice sorgente. È il primo output.
hello, world(some source code here)
La riga successiva è l'output della seconda esecuzione. È la seconda uscita.
helloworld(some source code here)
Quando abbiamo eseguito il primo output, questo programma è diventato idoneo per il bonus del -10%. Ciò significa che abbiamo due uscite e un codice originale, che hanno tutti punteggiatura diversa. Inoltre, poiché il secondo output era valido, questo programma è idoneo per questo concorso.
La riga successiva è l'output della terza esecuzione. È la terza uscita.
Helloworld(some source code here)
La riga successiva è l'output della quarta esecuzione. È la quarta uscita.
hellworld(some source code here)
Questo output non è valido. L'indice dell'ultima esecuzione valida è stato 4. Questo programma è idoneo per il bonus -5% * (4 - 2) e il bonus del -10% dalla punteggiatura. Questo fa un totale di -20%. La lunghezza del primo codice sorgente ("ciao mondo (qualche codice sorgente qui)") era di 34 byte, quindi il punteggio finale è 27.2.
hello world
?