kacchi #1037(2007/07/17 15:02 GMT) [ Scheme ] Rating0/0=0.00
AAA以降にも対応してみました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
(define (number->excel n) (define (refs n) (let ((quo (quotient (- n 1) 26)) (rem (remainder (- n 1) 26))) (if (< quo 27) (list quo rem) (append (refs quo) (list rem))))) (let ((alpha (lambda (i) (integer->char (+ 65 i)))) (ls (refs n))) (with-output-to-string (lambda () (display (if (zero? (car ls)) "" (alpha (- (car ls) 1)))) (for-each (lambda (x) (display (alpha x))) (cdr ls))))) ) (let loop ((n 1) (m 100)) (cond ((<= n m) (display (number->excel n)) (and (not (= n m)) (display ", ")) (loop (+ n 1) m)) (else (display #\newline))))
Rating0/0=0.00-0+
[ reply ]
kacchi
#1037()
[
Scheme
]
Rating0/0=0.00
Rating0/0=0.00-0+
[ reply ]