C++與演算法

解答 - 直角三角形製造機

解說

因為一定會印出N列,可以先寫好

for( i=1 ; i<=N ; i=i+1 )
{

    cout << endl;
}


觀察到

  • 第1列 i=1,輸出*
  • 第2列 i=2,輸出**
  • 第3列 i=3,輸出***
  • ...
  • 第 i 列 i=i,輸出**.....*,共i*
  • ...
  • 第N列 i=N,輸出****.....***,共N*


因此可以在for迴圈內部再寫一個for迴圈,印出i*

for( j=1 ; j<=i ; j=j+1 )
{
    cout << "*";
}


code

#include<iostream>
using namespace std;

int main()
{
    int N;
    int i, j;

    cin >> N;

    for( i=1 ; i<=N ; i=i+1 )
    {
        for( j=1 ; j<=i ; j=j+1 )
        {
            cout << "*";
        }
        cout << endl;
    }

    return 0;
}