-
[SWEA] 2005. 파스칼의 삼각형 c++Coding Test/SW Expert Academy 2022. 11. 15. 10:30728x90
- 문제
크기가 N인 파스칼의 삼각형을 만들어야 한다.
- 입력
1
4- 출력
#1
1
1 1
1 2 1
1 3 3 1- 문제 해결
이전 행렬의 j, j+1 열의 값을 더하면 현재의 값이 된다.
index범위가 벗어난다면 0으로 계산하면 된다.
#include<iostream> #include <vector> using namespace std; int main(int argc, char** argv) { int test_case; int T; cin>>T; for(test_case = 1; test_case <= T; ++test_case) { int n = 0; cin >> n; cout << "#" <<test_case<<endl; vector<vector<int> > vec(n, vector<int>(n, 0)); vec[0][0] = 1; cout << 1 << endl; for(int i = 1; i < n; i++){ for(int j = 0; j < n; j++){ int y1 = 0, y2 = 0; if( j - 1 >= 0 ){ y1 = vec[i-1][j-1]; } else{ y1 = 0; } if( j + 1 <= n){ y2 = vec[i-1][j]; } else{ y2 = 0; } vec[i][j] = y1 + y2; if( vec[i][j] != 0){ cout << vec[i][j] << " "; } } cout << endl; } } return 0; }
728x90'Coding Test > SW Expert Academy' 카테고리의 다른 글
[SWEA] 1984. 중간 평균값 구하기 c++ (0) 2022.11.15 [SWEA] 1989. 초심자의 회문 검사 c++ (0) 2022.11.15 [SWEA] 2001. 파리 퇴치 c++ (0) 2022.11.15 [SWEA] 2007. 패턴 마디의 길이 c++ (0) 2022.11.15 [SWEA] 1859. 백만 장자 프로젝트 c++ (0) 2022.11.14