第1夜:1の不思議

Schemeの肩慣らしに数の悪魔*1から題材を取り、プログラミングしてみることにしました。

数の悪魔―算数・数学が楽しくなる12夜

数の悪魔―算数・数学が楽しくなる12夜

数の中に悪魔が住んでいるのは、数がじつに簡単だからだ。そうさ、計算機だって必要ないくらいにな。最初に必要なのは、ただひとつ。1という数だけ。 - 数の悪魔

(define (ones n)
	(define (ones-iter n)
		(if (<= n 0)
			'()
			(cons "1" (ones-iter (- n 1)))))

	(if (<= n 0)
		'("Sorry, I don't know zero ;-)")
		(ones-iter n))
)

(define (main args)
	(print (string-join (ones 10) "+"))
0)

細工なしの単純な再帰で、文字列"1"のリストを作成してくれます。

1+1+1+1+1+1+1+1+1+1

そして相変わらず、インデントが分からないのでした。

*1:Hans Magnus Enzensberger,1997,Der Zahlenteufel,エンツェンスベルガー 丘沢静也(訳),2000,数の悪魔,晶文社