일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- query
- 자료구조
- 포인터
- algorithm
- 악성코드
- beans
- System
- C
- JavaScript
- jsp
- UTF-8
- Call-by-reference
- c++
- CSS
- Kafka
- java
- 노드
- OOP
- API
- HTML
- 윈도우즈
- 투자
- meta
- WebProgramming
- function
- CLASS
- Sort
- request
- array
- windows
- Today
- Total
hahahia
파스칼의 삼각형 소스코드 본문
파스칼의 삼각형이란 아래 사진과 같이 이항계수를 삼각형 모양의 기하학적 형태로 배열한 모양을 듯합니다.
구하는 점화식은 위와 같이 나타냅니다. 이런식으로 점화식을 구하여 부분 문제를 풀어가며 전체 문제의 해답을 찾아내는 방식을 dp라고 하죠 ㅎㅎ
아래는 n을 입력하면 처음부터 n번째 줄 까지의 파스칼의 삼각형을 구하는 예제 소스입니다
/* 파스칼의 삼각형 구하는 예제(dp) */
#include <iostream>
using namespace std;
int arr[100][100] = {0, };
int main(){
int n;
cin >> n;
for(int i=0; i<n; i++){
for(int j=0; j<=i; j++){
if(i == 0 || j == 0){
arr[i][j] = 1;
}
else{
arr[i][j] = arr[i-1][j] + arr[i-1][j-1];
}
}
}
for(int i=0; i<n; i++){
for(int j=0; j<=i; j++){
cout << arr[i][j] << " ";
}
cout << endl;
}
return 0;
}
'Algorithm' 카테고리의 다른 글
Heap Sort(힙 정렬) 구현 (2) | 2012.11.13 |
---|---|
binary search(이진 탐색) (0) | 2012.10.04 |
c++ string을 이용한 2진수에서 10진수 변환 프로그램 (2) | 2012.10.04 |
더블릿 문제풀이(최대 구간 구하기) (0) | 2012.10.04 |
쉬프트 연산( << , >> ) (0) | 2012.09.01 |