Golf Programming: Anagrammi

Rientriamo dopo le ferie con un’altra sfida classica, giusto per toglierci di dosso eventuale ruggine. Al solito riporto le regole per chi cominciasse adesso a seguire questa pseudo rubrica.

Le Regole

Ormai le regole dovrebbero essere familiari, le riporto per scrupolo:

  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

La funzione di questo mese prende in input due stringhe e stampa vero se una delle due è anagramma dell’altra o falso in caso contrario (ovviamente sono consentite anche, per i linguaggi che lo permettono, 0 ed 1 o 0 e ~0).

Al solito posterò la mia soluzione come commento alla fine della settimana entrante, per dare il tempo a chi vuole partecipare di scatenare la propria fantasia.

Annunci

6 pensieri riguardo “Golf Programming: Anagrammi

  1. ecco, in python 🙂

    import sys

    a, b = sys.argv[1:]

    if sorted(list(a)) == sorted(list(b)):
    print ‘le due stringhe sono anagrammi’

    su dpaste -> http://dpaste.com/87444/

    funziona via terminale passandogli 2 argomenti, stringa 1 e stringa 2:

    python anagrammi.py patrick prova

  2. E’ stata durissima ! 😀
    Un carattere in meno di Davide e con in + la gestione di errori in fase di input (assenza di uno o di entrambi dei due termini):

    p eval”(#{a=’ARGV.shift.split(//).sort’}==#{a})rescue :E”

    ^_^

  3. @Damiano, sei sicuro che non manchi qualcosa? Tipo un echo.
    Ho controllato lo script con patate e patte come parametri e l’output è errato.

  4. Sicuramente mancava la mia soluzione, scusate il ritardo ma non avevo la testa abbastanza sul collo per ricordarmi che avrei dovuto postarla quasi tre settimane fa.

    function s($x){
    $a=str_split($x);
    sort($a);
    return(join($a));
    }
    echo s($argv[1])==s($argv[2])?1:0;

Rispondi

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 )

Google photo

Stai commentando usando il tuo account Google. 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 )

Connessione a %s...