Experimentalia

Appunti raminghi

Golf Programming: Code Golf Ruler

with one comment

Gennaio è passato, cerchiamo di recuperare il tempo perso e partiamo quanto prima con la prova di Golf Programming di Febbraio.

Vi siete stancati di stare a contare i caratteri che compongono la vostra soluzione di code golf? Il contest di questo mese vi darà una mano.

Si tratta di stampare, al solito sprecando meno caratteri possibile, un righello in modo da poterlo usare per misurare ad occhio le nostre creazioni.

Un esempio lo trovate qui sotto, il resto delle specifiche dopo il solito richiamo alle regole.

+-------------------------------------------------------------------------+
| |    |    |    |    |    |    |    |    |    |    |    |    |    |    | |
| 0        10        20        30        40        50        60        70 |
|                                                                         |
+-------------------------------------------------------------------------+

Le Regole

Si tratta delle solite regole, in ossequio al contesto le ho riportare con il copia e incolla :-) :

  1. Scrivere un programma, il più breve possibile, che risolva il problema enunciato prima e riportato meglio qui sotto;
  2. per ogni linguaggio utilizzato è considerato vincitore il programma scritto usando meno caratteri;
  3. l’efficienza dell’algoritmo non è un fattore fondamentale ma il programma deve terminare senza errori;
  4. si può optare, se più concisa, per una funzione, piuttosto che un programma intero;
  5. ovviamente non di vince niente se non la soddisfazione di aver accettato una sfida ed averla vinta.

L’algoritmo

Il compito di questo mese è presto detto: Scrivere una funzione (o un programma) che presa in input la dimensione (in caratteri) del righello ne stampi una versione ascii come quella che riportata sopra.

E’ importante che tra il bordo del righello e la prima e l’ultima tacca di misuta ci sia uno spazio, che la prima tacca parta da zero e che le tacche siano intevallate da 4 spazi.

L’ultima tacca è particolare: riporta in ogni caso la misura a cui sottende. Si, lo so, per tutti i righelli di dimensione 1+5n ci sarà una sovrapposizione di caratteri alla fine della terza riga. Ci andrà bene lo stesso🙂.

Il bordo, ovviamente, non viene conteggiato tra i caratteri.

Che dire, il compito è semplice ed ho provato a complicarlo un poco (ma non troppo) per non annoiare nessuno.

Vi lascio con un ulteriore esempio ed una anticipazione (L’esempio è in fondo😉 ):

Il prossimo golf contest avrà a che fare con il codice morse, è un po che ci sto pensando e mi sembra giusto anticiparvelo, visto che spremere quanti più byte possibile potrebbe essere non banale, per darvi un po di tempo per riflettere su come affrontare la sfida di Marzo. Penso sia il giusto proseguimento sulla serie delle traslitterazioni che avevamo cominciato con il passaggio da numeri romani ad arabi e viceversa.

   printf("%s",'Golf Programming rulesr');
+-------------------------------------------------------------------+
| |    |    |    |    |    |    |    |    |    |    |    |    |   | |
| 0        10        20        30        40        50        60  64 |
|                                                                   |
+-------------------------------------------------------------------+

Written by Eineki

febbraio 3, 2010 a 1:59 am

Pubblicato su golf

Una Risposta

Subscribe to comments with RSS.

  1. http://pastebin.com/DDgmZ4g9

    Si puo’ fare *molto* meglio… ma qualcuno doveva pur rompere il ghiaccio

    ben

    aprile 12, 2010 at 20:16 pm


Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: