TOJ 104 星星樹

TOJ 104 星星樹

YuDong Lv2

toj 104 星星樹

星星樹 是這次我要練習的題目。
與巢狀迴圈有關。

題目:

大家都知道,星星是長在樹上的。星星樹,自然就是上面長了星星的樹。

園丁JD3工作是專門維護長在資訊社社部的星星樹。工作包括每天澆水,拔雜草,防治蟲害(DEBUG)等等。當然,還有把星星樹定期修剪成整齊的形狀。

星星樹的樹枝發展相當有規律,呈現層狀。一棵好看的星星樹並且從樹的底端開始,往上呈現整齊的圓錐狀。為了保持穩定不傾倒,每一層的星星會修剪的比下面一層少正好兩顆。星星樹最頂端,則總是最閃亮的,那一顆的星星。

輸入說明

一個數字N,代表星星樹的高度。

輸出說明

星星樹。

範例輸入

4

範例輸出

1
2
3
4
   *
***
*****
*******

思考方法

首先,我將發生的事情寫下來,設了兩個變數: wall, space

1
2
3
4
5
6
// 0 space 7 #
// 1 space 5 #
// 2 space 3 #
// 3 space 1 #

// space wall

再來,利用迴圈完成。
大概就出來了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <bits/stdc++.h>
using namespace std;

int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) { //大迴圈: 次數
for (int space = 1; space < n-i; space++) { //空白處理迴圈-
//空白由上往下遞減.
cout << " ";
}
for (int wall = 0; wall < 2*i+1; wall++) { //2*i+1 為奇數
cout << "*";
}
cout << "\n";
}
}
留言
此頁目錄
TOJ 104 星星樹