這是一題常見的題目,算簡單,直接來看題目吧!
請寫出一個方法(函式),給一個整數 n,則印出 n 階樓梯。
此文同時發佈於好讀版
Examples
ex1:
steps(2)
印出
'@ '
'@@'
------------------------
ex2:
steps(3)
印出
'@ '
'@@ '
'@@@'
老規矩,看解答前希望您可以先自己想想,解法不一樣也完全是可以的!
row: 橫的一列
col: 直的一欄位
想像成一個矩陣表格,
只要橫的第n個位置,大於直的第 m 個欄位數,就印出@
,
反之則印出空字串。
private static void steps(int n) {
for (int row = 0; row < n; row++) {
String aStep = "";
for (int col = 0; col < n; col++) {
if (col <= row) {
aStep += "@";
} else {
aStep += " ";
}
}
System.out.println(aStep);
}
}
function steps(n) {
for (let row = 0; row < n; row++) {
let aStep = '';
for (let col = 0; col < n; col++) {
if (col <= row) {
aStep += '@';
} else {
aStep += ' ';
}
}
console.log(aStep);
}
}
此文同時發佈於好讀版
javascript 也可以透過 array.fill 的方式產生 @
const steps = (stepsAmount) => {
let result = "";
for (let i = 0; i <= stepsAmount; i++) {
result += new Array(i).fill("@").join("") + "\n";
}
return result;
};
const result = steps(5);
console.log("result", result);
/*
"result" "
@
@@
@@@
@@@@
@@@@@
"
*/