파스칼의 삼각형

#include <cmath>
#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main(void)
{
	int t;
	cin >> t;

	for (int i = 0; i < t; i++)
	{
		int it1;
		cin >> it1;//파스칼 삼각형 몇단인지
		vector<vector<int>> vvTemp;
		vector<int>vTemp;

		for (int j = 0; j < it1; j++)
		{
			if (j == 0)
			{
				vTemp.push_back(1);
			}
			else
			{
				for (int k = 0; k <= j; k++)
				{
					if (k == 0 || k == j)
					{
						vTemp.push_back(1);
					}
					else
					{
						vTemp.push_back(vvTemp[j - 1][k - 1] + vvTemp[j - 1][k]);
					}
				}
			}
			vvTemp.push_back(vTemp);
			vTemp.clear();
		}



		for (int j = 0; j < vvTemp.size(); j++)
		{
			for (int k = 0; k < vvTemp[j].size(); k++)
			{
				if (j == 0 && k == 0)
				{
					cout << "#" << i+1 << endl;
					cout << vvTemp[j][k];
				}
				else
				{
					cout << vvTemp[j][k] << " ";
				}
			}
			cout << endl;
		}

	}

	return 0;
}

이문제
1. 삼중 for문 +
2. 2차원 배열
조금 까다로웠음.

좋은 웹페이지 즐겨찾기