HJ35 蛇形矩阵
题目描述
示例
代码
js
// 蛇形矩阵就是找规律
/*
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
*/
// 1. 确定每一行第一个数 1+0=1 1+1=2 2+2=4 4+3=7
// 2. 然后确定后一个数与前一个数的关系
let readline = require('readline')
let rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})
rl.on('line', line=>{
// 获取输入的值
let count = parseInt(line)
// 第一列的值
let k = 1
// 开始循环
for(let i =0; i < count; i++){ // 外层循环控制高度
// 内层循环控制 每一行输出的内容
let tempArr = []
let currentNum = k // 每一行第一个自然数 // 1 2 4 7 11
let j = 0 // 第一个数
while(j < count-i){ // 第一行数的个数 是输入的值,然后每一行都会递减一个
tempArr.push(currentNum)
j++
currentNum = currentNum + (j+1) + i // 后一个数 = 前一个数 + 当前行第几位 + 当前第几行的索引
}
// 一行结束
console.log(tempArr.join(' '))
// 更新下一列的第一个值
k += (i + 1)
}
})