/**
* 杨辉三角
*
* @param n 维数
*/
fun yangHuiTriangle(n: Int) {
val yangHuiTriangle = Array(n, { IntArray(n).apply { fill(0) } })
yangHuiTriangle.forEachIndexed { index, intArray ->
run {
intArray[0] = 1
intArray[index] = 1
}
}
yangHuiTriangle.forEachIndexed { index, intArray ->
if (index > 1) {
intArray.forEachIndexed { index1, _ ->
if (index1 in 1 until index) {
intArray[index1] = yangHuiTriangle[index - 1][index1 - 1] + yangHuiTriangle[index - 1][index1]
}
}
}
}
yangHuiTriangle.forEachIndexed { _, intArray ->
run {
intArray.forEach { item -> if (item != 0) print("$item ") }
println()
}
}
}
如果看到此文的大虾有更好的方法,还请大笔一挥、留下足迹,不甚感激!