池田優一
eclip****@cspc*****
2005年 11月 7日 (月) 23:58:22 JST
池田です。 作ってて気付いたんですが、 なんか再帰がうまくいきません。 fact = {FACT|n| if :(n <= 1) :{1} :{FACT[n-1]}!}; fact[5]; としたとします。 するとnに5が適用されて、 {FACT|n = 5| if :(n <= 1) :{1} :{FACT[n-1}!}!; {FACT|n = 5| if :(5 <= 1) :{1} :{FACT[4]}!}!; ここで {FACT[4]}の部分ですが、 既にnは埋められているので、 {FACT|n=5, 4| if ...} となってしまい、無限に4が追加されてしまいます。 どうしよ・・・ なんかいいアイデアないでしょうか。