斐波纳契是好的:帕斯卡在K /三角q
f:|+\
5 f\1 1
,但我还没有找到帕斯卡三角的类似表达式。这是最好的,我可以得到:
q){x+\\x#1}6
1 1 1 1 1 1
1 2 3 4 5 6
1 3 6 10 15 21
1 4 10 20 35 56
1 5 15 35 70 126
1 6 21 56 126 252
1 7 28 84 210 462
斐波纳契是好的:帕斯卡在K /三角q
f:|+\
5 f\1 1
,但我还没有找到帕斯卡三角的类似表达式。这是最好的,我可以得到:
q){x+\\x#1}6
1 1 1 1 1 1
1 2 3 4 5 6
1 3 6 10 15 21
1 4 10 20 35 56
1 5 15 35 70 126
1 6 21 56 126 252
1 7 28 84 210 462
有一个在q idioms page
q)pt:{0+':x,0}
q)4 pt\ 1
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
基于继承人折code.kx斐波那契例如解决http://code.kx.com/q/ref/adverbs/
q)pascal:{{((+':)x),1}/[x;1]}
q)pascal 0
1
q)pascal 6
1 6 15 20 15 6 1
q){{((+':)x),1}\[x;1]} 7
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
一个非常漂亮的一个与现代教科书版本相比,original Pascal triangle确实旋转了45°,所以OP的解决方案是正确的,但可以改进以提高可读性:
q)sums\[6;6#1]
1 1 1 1 1 1
1 2 3 4 5 6
1 3 6 10 15 21
1 4 10 20 35 56
1 5 15 35 70 126
1 6 21 56 126 252
1 7 28 84 210 462
对于那些谁享有解密混淆Q代码中,这里是一个免费的λ-溶液:
q)p:(sums\).(-1+;#[;1])@\:
q)p 3
1 1 1
1 2 3
1 3 6
和从 ':解决方案:((+':),[0] @) \ [; 1] - 从您的链接,帕斯卡的'发电机'(值1)也可以是一个参数 –