Golf programming: Sono Pazzi Questi Romani
E’ passato un mese dall’ultimo contest di golf programming. E’ arrivato il momendo di ricominciare a consumare, il meno possibile, le nostre tastiere per risolvere quello del mese di novembre.
Le Regole
Si tratta delle solite regole, in ossequio al contesto le ho riportare con il copia e incolla
:
- Scrivere un programma, il più breve possibile, che risolva il problema enunciato prima e riportato meglio qui sotto;
- per ogni linguaggio utilizzato è considerato vincitore il programma scritto usando meno caratteri;
- l’efficienza dell’algoritmo non è un fattore fondamentale ma il programma deve terminare senza errori;
- si può optare, se più concisa, per una funzione, piuttosto che un programma intero;
- ovviamente non di vince niente se non la soddisfazione di aver accettato una sfida ed averla vinta.
L’algoritmo
Il programma da scrivere questa volta riguarda i numeri romani. Quelli che compaiono nelle prefazioni dei libri, per intenderci. O in qualche versione di latino o su centinaia di monumenti.
Questa volta bisogna scrivere un programma che conti, uno per riga, fino a 3999. Partiremo da 1 per arrivare fino a 3999 perché non è possibile, con i caratteri ascii, usare i caratteri romani per esprimere numeri più grandi di 4000. Non mi resta che lasciarvi al vostro compito con un link ad un file di riferimento con tutti la sequenza di numeri da replicare ed aspettare le vostre soluzioni.
La mia, al solito, tra circa una settimana tra i commenti.

mi sa che stavolta passo
patrick
Novembre 2, 2009 alle 10:20 am
Non ti scoraggiare, è più facile di quel che sembra, e poi non ci sono limiti di tempo, magari tra qualche settimana ti viene lo sfizio di provare….
eineki
Novembre 2, 2009 alle 10:29 am
Che ve ne pare?
Lo so, ho giocato sporco, ma ottiene il risultato chiesto….
È buono o devo cercare soluzioni più “lecite”?
Urturino
Novembre 2, 2009 alle 10:48 am
Come sai non si vince niente, immagino che una soluzione più ortodossa, fermo restando che l’ortodossia con il golf programming non ha molto a che fare, possa darti qualche soddisfazione in più.
In definitiva, però, l’unico giudice ultimo del tuo codice resti tu, e la spietata metrica del contare il numero dei caratteri.
In bash avresti potuto fare qualcosa come
#!/bin/bash
lynx -source http://liberosoftware.net/numeriromani.txt
eineki
Novembre 2, 2009 alle 11:20 am
La mia soluzione in ruby
Davide
Novembre 2, 2009 alle 21:30 pm
175 caratteri contando l’indentazione
gg
Novembre 7, 2009 alle 16:36 pm
Il mio codice usa una tecnica ancora diversa. Mi piace quello che sta saltando fuori da questo contest
eineki
Novembre 8, 2009 alle 23:36 pm
Sono arrivato _decisamente_ in ritardo! In ogni caso ecco la mia soluzione, sono 154 caratteri. Yezz.
http://gist.github.com/239815
sandro paganotti
Novembre 20, 2009 alle 22:49 pm