怎么了?
pascals_triangle <- function(x) {
for (i in 1:x) {
holder <- c()
n <- i - 1
for (j in 1:x) {
r <- j - 1
nCrlessone <- factorial(n)/(factorial(n-r)*factorial(r))
holder <- c(holder, nCrlessone)
}
print(holder)
}
}
> pascals_triangle(1)
[1] 1
> pascals_triangle(10)
[1] 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN
[1] 1 1 NaN NaN NaN NaN NaN NaN NaN NaN
[1] 1 2 1 NaN NaN NaN NaN NaN NaN NaN
[1] 1 3 3 1 NaN NaN NaN NaN NaN NaN
[1] 1 4 6 4 1 NaN NaN NaN NaN NaN
[1] 1 5 10 10 5 1 NaN NaN NaN NaN
[1] 1 6 15 20 15 6 1 NaN NaN NaN
[1] 1 7 21 35 35 21 7 1 NaN NaN
[1] 1 8 28 56 70 56 28 8 1 NaN
[1] 1 9 36 84 126 126 84 36 9 1
请参见上面的结果,在第一次试用时不打印NaN。 请参见上面的结果,在第一次试用时不打印NaN。 请参阅上面的结果,在第一次试用时不打印NaN。
答案 0 :(得分:0)
如果要避免计算,存储然后显示NaN
值,则可以将j
中的循环范围更改为从1:i
而不是{{ 1}}:
1:x
此更改可确保您仅计算下子对角线。