wpaisb-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Wpaisb-devel] [OT] Link del giorno


From: Luca Saiu
Subject: Re: [Wpaisb-devel] [OT] Link del giorno
Date: Thu, 05 Oct 2006 12:17:31 +0200
User-agent: Thunderbird 1.5.0.7 (X11/20060915)

Andrea wrote:
Boia!
Magia nera?!?!?
forse con un'indentazione potrebbe spaventare meno!

Si`, e anche usando identificatori ragionevoli. Comunque l'indentazione
e` facile da aggiustare. Emacs e` tuo amico. Il risultato e` questo
(ho cambiato "l" con "loop" nel secondo binding, perche` quel nome e`
pura crudelta`; ma il nome nel primo binding potrebbe avere senso):

#!/usr/bin/guile -s
!#

(define (x b e n)
  (let ((l modulo))
    (if (= e 1)
        (l b n)
        (if (= e 0)
            1
            (let ((h (x b (quotient e 2) n)))
              (if (even? e)
                  (l (* h h) n) (l (* h h b) n)))))))

(apply (lambda (e n)
         (let loop ()
           (let ((b (read)))
             (if (not (eof-object? b))
                 (begin
                   (write (x b e n))
                   (newline)
                   (loop))))))
       (map string->number (cdr (command-line))))

Il flusso del controllo e` semplice, ma continuo a non capire la logica.

Saluti,

--
L.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]