RosettaCodeData/Task/Floyds-triangle/Racket/floyds-triangle.rkt

19 lines
421 B
Racket
Raw Permalink Normal View History

2013-04-10 21:29:02 -07:00
#lang racket
(require math)
(define (tri n)
(if (zero? n) 0 (triangle-number n)))
(define (floyd n)
(define (width x) (string-length (~a x)))
(define (~n x c) (~a x
#:width (width (+ (tri (- n 1)) 1 c))
#:align 'right #:left-pad-string " "))
(for ([r n])
(for ([c (+ r 1)])
(display (~a (~n (+ (tri r) 1 c) c) " ")))
(newline)))
(floyd 5)
(floyd 14)