250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(SWEA c++)2005. 파스칼의 삼각형 본문
728x90
반응형
2차원 배열을 이용하여 수를 채워나가도록 한다.
최대가 10이므로 arr[10][10]을 선언.
arr[0][0]은 1을 넣어주어 시작.
파스칼의 삼각형을 10단계가지 채워둔 후 원하는 단계만큼 출력해주면 시간을 줄일 수 있다.
이중 for문을 이용.
i = 단계, j = 각 단계에서의 위치를 나타낸다.
만약 j == 0 또는 j == i랑 같다면 각 단계에서 양 끝을 나타내므로 arr[i][j]에 1을 대입.
그 외에는 arr[i - 1][j - 1] + arr[i - 1][j]를 넣어주어 채워나가면 된다.
#include <iostream>
using namespace std;
int main(void)
{
int t;
int arr[10][10];
arr[0][0] = 1;
cin >> t;
for(int i = 1; i < 10; i++)
{
for(int j = 0; j <= i; j++)
{
if(j == 0 || j == i)
arr[i][j] = 1;
else
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
for(int i = 1; i < t; i++)
{
int n;
cin >> n;
cout << "#" << i << endl;
for(int j = 0; j < n; j++)
{
for(int k = 0; k <= j; k++)
cout << arr[j][k] << " ";
cout << endl;
}
}
return 0;
}
728x90
반응형
'SW Expert Academy' 카테고리의 다른 글
(SWEA c++)5607. [Professional] 조합 (0) | 2020.10.05 |
---|---|
(SWEA c++)2001. 파리 퇴치 (0) | 2020.09.28 |
(SWEA c++)2007. 패턴 마디의 길이 (0) | 2020.09.28 |
(SWEA c++)1926. 간단한 369게임 (0) | 2020.09.28 |
(SWEA c++)1859. 백만 장자 프로젝트 (0) | 2020.09.28 |