d649 - 數字三角形
題目描述
題目要求輸出一個高度和底都為 N 的三角形,其中三角形的空白部分用 '_' 替換,三角形的構成部分用 '+' 替換。N 的值由使用者輸入,當 N 為 0 時結束程式。
解題思路
此題主要利用巢狀迴圈來控制輸出。外層迴圈控制行數,從 N 到 1 遞減。內層迴圈控制每行輸出的字元,如果當前列數大於等於行數,則輸出 '+',否則輸出 '_ '。
複雜度分析
- 時間複雜度: O(n^2)
- 空間複雜度: O(n)
程式碼
#include <iostream>
using namespace std;
int main (){
int n=0;
while(cin >> n){
for(int i=n;i>0;i--){
for(int j=1;j<=n;j++){
if(j>=i){
cout << "+";
}
else{
cout << "_";
}
}
cout << endl;
}
}
}