파스칼의 삼각형 규칙인 '두 번째 줄부터 각 숫자들은 자신의 왼쪽과 오른쪽 위의 숫자의 합으로 구성된다.'를 코드로 표현하면 된다.
#include <iostream>
#include <ios>
using namespace std;
int T, N, triangle[10][10];
void initializeTriangle(); // triangle 배열 재사용을 위해 0으로 초기화
void makeTriangle();
void print();
int main() {
cin.tie(0); ios::sync_with_stdio(0);
cin >> T;
for (int testCase = 1; testCase <= T; testCase++) {
initializeTriangle();
cin >> N;
makeTriangle();
cout << '#' << testCase << "\n";
print();
}
return 0;
}
void initializeTriangle() {
for (int y = 1; y < N; y++) {
for (int x = 0; x < N; x++) {
triangle[y][x] = 0;
}
}
}
void makeTriangle() {
triangle[0][0] = 1;
for (int y = 1; y < N; y++) {
for (int x = 0; x < N; x++) {
if (x - 1 >= 0) triangle[y][x] += triangle[y - 1][x - 1];
triangle[y][x] += triangle[y - 1][x];
}
}
}
void print() {
for (int y = 0; y < N; y++) {
for (int x = 0; x < N; x++) {
if(triangle[y][x]) cout << triangle[y][x] << ' ';
}
cout << "\n";
}
}
'알고리즘 > SWEA' 카테고리의 다른 글
[SWEA] 1954. 달팽이 숫자 (0) | 2019.04.21 |
---|---|
[SWEA] 1926. 간단한 369게임 (0) | 2019.04.17 |
[SWEA] 1940. 가랏! RC카! (0) | 2019.04.17 |
[SWEA] 1961. 숫자 배열 회전 (0) | 2019.04.16 |
[SWEA] 2001. 파리 퇴치 (0) | 2019.04.16 |
댓글