티스토리 뷰
안녕하세요 박스여우입니다.
요번에 새롭게 짜낸 알고리즘을 들고왔는데요,
바로 파스칼의 삼각형입니다.
알고리즘을 짜기위해선 규칙을 파악하시는게 우선입니다.
규칙이 아래에 설명되 있으니 파악하신뒤 내려보시는것을 추천드립니다.
파스칼의 삼각형은 테두리의값은 1이고,
양위쪽의 대각선의 값을더한값이 자식으로 나오는 트리구조입니다
파스칼의 삼각형의 규칙만 잘 파악하시면
배열을 이용해 쉽게 만드실수 있습니다.
1열의 첫번째와 두번째를 합친것이 2열의 2번째,
2열의 첫번째와 두번째를 합친것이 3열의 2번째,
2열의 두번째와 세번째를 합친것이 3열의 3번째
이런 규칙으로 진행하는 구조입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 |
#include <stdio.h>
#pragma warning(disable:4996)
int main(){
int a;
scanf(" %d", &a);
int arr[100] = { 0, };
int arrs[100] = { 0, };
arrs[1] = 1;
int space = 2*(a-1);
for (int i = 0; i < a; i++){
for (int j = 1; j < space; j++){
printf(" ");
}
space -= 2;
for (int r = 1; r <= i + 1; r++){
arr[r] = arrs[r];
}
for (int k = 0,j=1; k <= i; k++,j++){
int p = arr[k] + arr[j];
arrs[j] = p;
printf("%d ", p);
}
printf("\n");
}
return 0;
} |
cs |
'프로그래밍 > 알고리즘' 카테고리의 다른 글
이진 탐색 알고리즘(Binary Search) (419) | 2015.10.21 |
---|---|
퀵 정렬 알고리즘 (435) | 2015.07.17 |
c언어 알고리즘 - 개미수열 (411) | 2015.07.15 |
c언어 - 알고리즘 (383) | 2015.06.14 |
c언어 - 알고리즘 (412) | 2015.06.14 |
댓글