[Top][All Lists]
[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.