创建一个Pascal三角形,它是一个嵌套列表,在未使用的位置包含零。
在输出数组中,帕斯卡三角形的数字用零分隔,并在每一侧用零填充,以使它们居中。例如,最下面一行(最后一个子数组)的左右两侧不得为零;倒数第二个子数组的每一侧都有一个零填充,依此类推。
这是输入的输出5:
[[0,0,0,0,1,0,0,0,0],
[0,0,0,1,0,1,0,0,0],
[0,0,1,0,2,0,1,0,0],
[0,1,0,3,0,3,0,1,0],
[1,0,4,0,6,0,4,0,1]]
与往常一样,以字节数最少的解决方案为准。
5
与此重复。不幸的是,仅更改输出格式不会改变挑战。如果您仍然需要帮助,请尝试在Stack Overflow上发帖。
—
GamrCorps '16
好吧,还有额外的零。
—
CalculatorFeline
该程序将打印出您想要的代码(Python 3):
—
CalculatorFeline
print("def pascal(n):\n #make the nested list\n a=[[0 for i in range(2*n+1)] for j in range(n+1)] #make the list\n a[0][n]=1 #add the initial 1\n for i in range(1,n+1):\n for j in range(2*n+1):\n a[i][j]=a[i-1][j-1]+a[i-1][(j+1)%(2*n+1)] #the main part\n return a")
@CatsAreFluffy多余的零将替换上一次迭代中的空格-从功能上讲,这是完全相同的问题。
—
ricdesi's
我可以使用本机数组表示语法作为我的语言,还是格式不可协商?
—
猫