斐波納契是好的:帕斯卡在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)也可以是一個參數 –