Scheme 帕斯卡';带扭曲的三角形
假设我们想在Scheme中生成Pascal三角形,但有一个扭曲。对于函数(pascal left right depth),其中left是三角形左侧的数字,right是右侧的数字。例如,调用(pascal 1 1 5)将返回Scheme 帕斯卡';带扭曲的三角形,scheme,Scheme,假设我们想在Scheme中生成Pascal三角形,但有一个扭曲。对于函数(pascal left right depth),其中left是三角形左侧的数字,right是右侧的数字。例如,调用(pascal 1 1 5)将返回 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 1 2 1 3 2 1 4 5 2 1 5 9 7 2 1 6 14 16 9 2 然后会返
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1
1 2
1 3 2
1 4 5 2
1 5 9 7 2
1 6 14 16 9 2
然后会返回对(pascal 1 2 5)的调用
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1
1 2
1 3 2
1 4 5 2
1 5 9 7 2
1 6 14 16 9 2
如何打印三角形,使其间距与示例相同
到目前为止,我的代码如下所示,但这只是返回哪个数字应该位于标准三角形中的哪个位置
(define (pascal x y)
(cond ((or (<= x 0) (<= y 0) (< x y)) 0)
((or (= 1 y) (= x y)) 1)
(else (+ (pascal (- x 1) y) (pascal (- x 1) (- y 1))))))
(定义(pascal x y)
(条件)(在每行的开头添加一个递减的空格。根据最后一行的长度和要打印的当前行的长度来确定数字。请发布您迄今为止编写的代码,指出代码中您在@scarLópez方面遇到问题的特定部分。您如何打印可变数量的空格s、 例如,假设我想打印8个空格,后跟一个空格。(println(*“8)1)不适用于打印。如何打印可变数量的空格。例如,假设我想打印8个空格,后跟一个空格。(println(*“8)1)不适用于打印。@user3277752使用(生成字符串8”)
而不是(*“8”)
这不起作用。