본문 바로가기

2016/11

C언어 문제 - 입력 받은 수가 소수 인지 판단하기 (questions in C) C언어 문제 - 입력 받은 수가 소수 인지 판단하기 (questions in C) int main (void) { int n; int i; scanf("%d", &n); i = 2; while( i 더보기
10장 - C언어 반복문(repetitive statement in C)(2) 10장 - C언어 반복문(repetitive statement in C)(2) - 반복문이란 조건이 참일 경우, 특정 루틴을 반복적으로 수행하는 것 이번에는 지난 9장에 이어 반복문에 대해서 조금 더 알아보도록 하겠습니다. 지난 강의에는 for에 대해서 했고, 이번에는 while과 do~while에 대해서 다룰 예정입니다. 반복문의 구조는 약간씩 다르지만, 그 기본은 같다는걸 명심하시면 쉽게 습득하실 수 있을 겁니다. ※ 조건이 참일 경우, 특정 루틴을 반복적으로 수행하는 것 1. while int main (void) { while( 조건 ) { // 반복 루틴 } return 0; } while의 기본 구조는 위의 예제와 같습니다. for문에 비해 상당히 간단한 구조죠? 조건만 존재하고, 해당 조건이.. 더보기
다항식 - 2 1. 항등식 (1) 항등식 : 주목하는 문자에 어떠한 값을 대입하더라도 항상 성립하는 등식 - 좌변과 우변의 식의 형태가 똑같은 식 - 수학적으로 좌변과 우변의 식이 명백히 같은 값을 나타내는 식(곱셈 공식) - 방정식(equation) : 참이 되게 하는 값을 구하는 것이 목적인 등식 2. 미정계수법 항등식의 성질을 이용하여 항등식에서 미지수인 계수의 값을 결정하는 방법 - 항등식이 되도록 계수를 결정하는 것 (1) 계수비교법 : 좌변과 우변의 각 동류항의 계수가 같음을 이용하여 미정계수를 결정하는 방법 => 좌변과 우변을 같은 모양으로 정리하여 각 동류항의 계수를 비교한다. (2) 수치대입법 : 어떠한 값을 대입해도 식이 성립한다는 항등식의 정의를 이용하여 미정계수를 결정하는 방법 => 주목하는 문자.. 더보기
C언어 동적 프로그래밍(Dynamic Programming in C) C언어 동적 프로그래밍(Dynamic Programming in C) - 동적 프로그래밍은 하위문제들에 대한 해결책을 결합하는 방식으로 문제를 해결한다. - 일반적으로 동적 프로그래밍은 최적화 문제에 적용된다. - 동적 프로그래밍 알고리즘을 개발할 때, 다음과 같은 시퀀스를 따른다. (1) 최적의 해결책의 구조를 특징 짓는다. (2) 재귀적으로 최적의 해결책의 값을 정의한다. (3) 최적의 해결책의 값을 계산한다. (4) 계산된 정보를 바탕으로 최적의 해결책을 구성한다. 더보기
다항식 - 1 1. 단항식과 다항식 (1) 단항식 : 수와 문자 간에 곱셈만을 이용해 표현한 식 (2) 다항식 : 단항식 또는 단항식의 합으로 표현한 식 2. 다항식에 관련된 여러 가지 용어 어떤 문자(주목하는 문자)에 대한 다항식에서 (1) 항 : 다항식을 이루고 있는 각 단항식 (2) 상수항 : '주목하는 문자'를 포함하지 않는 항 (3) 특정 항의 계수 : 특정 항에서 '주목하는 문자'를 제외한 나머지 부분 (4) 특정 항의 차수 : 특정 항에 곱해져 있는 '주목하는 문자'의 개수(상수항의 차수는 0으로 정의) (5) 다항식의 차수 : 다항식을 정리했을 때 각 항의 차수 중 가장 큰 차수 - 다항식은 한 개 이상의 항으로 이루어진 식으로, 단항식도 다항식도 포함된다. - 문자 사이에 나눗셈 기호가 있거나(분모에 .. 더보기
곱셈공식 정리 더보기
C언어 분기문(return, break, continue) C언어 분기문(return, break, continue) - 프로그램의 순차적 수행 순서에 따르지 않고 다른 명령을 수행하도록 이행 시키는 명령입니다. - 분기문에는 여러 종류가 있고, 각각 다른 특징을 가집니다. 1. return return은 자신(함수)를 호출한 곳으로 다시 되돌아가는 명령입니다. 아직 함수에 대해서 자세히 다루지는 않았지만, 이미 우리는 return 을 봤습니다. int main (void) { return 0; } C언어의 기본인 main 함수를 보면, return 을 포함하고 있습니다. return '상수 or 변수'; 의 구조로 사용이 되는데, 자신을 호출한 곳으로 돌아가면서, '상수 or 변수'의 값을 반환해 주는 것입니다. 위의 예제에서는 즉, main 함수를 호출한 곳.. 더보기
원의 성질 원의 성질 1. 현의 수직이등분선 (1) 원의 중심에서 현에 내린 수선은 그 현을 이등분한다. (2) 원에서 현의 수직이등분선은 그 원의 중심을 지난다. 2. 현의 길이 한 원 또는 합동인 두 원에서 (1) 원의 중심으로부터 같은 거리에 있는 두 현의 길이는 서로 같다. (2) 길이가 같은 두 현은 원의 중심으로부터 같은 거리에 있다. 3. 원의 접선의 길이 (1) 접선의 길이 : 원 밖의 한 점 P에서 원 O에 그은 접점을 각각 A, B라 할 때, 선분PA, 선분PB의 길이가 점 P에서 원 O에 그은 접선의 길이이다. (2) 원 밖의 한 점 P에서 원 O에 그은 두 접선의 길이는 서로 같다. PLUS. - 원의 접선은 그 접점을 지나는 원의 반지름과 서로 수직이다. - 원 위의 한 점을 지나고 그 점을.. 더보기
C언어 레드-블랙 트리 삭제 알고리즘(Red-Black Trees in C, deleting or removing algorithm) C언어 레드-블랙 트리 삭제 알고리즘(Red-Black Trees in C, deleting or removing algorithm) - 많은 검색-트리 구조 중 하나이다. - 기본 동적 명령들이 최악의 경우에도 O(lg n) 시간이 걸리도록 보장하기 위해 안정(balanced) 되었다. - 각 노드마다 하나의 추가적인 비트를 가지고 있다. - 편리한 상태처리를 위해 NIL을 나타내는 센티널 노드가 있다. - 다음 5가지의 특성을 만족하는 이진 트리이다. (1) 각 노드는 빨강 또는 검정색이다. (2) 루트(root)는 검정색이다. (3) 모든 leaf(NULL)은 블랙이다. (4) 만약 노드가 빨강이면, 해당 노드의 자식은 모두 검정이다. (5) 각 노드에 대해, 해당 노드에서 자식 노드까지의 모든 경.. 더보기
C언어 레드-블랙 트리 삽입 알고리즘 (Red-Black Trees in C, insertion algorithm) C언어 레드-블랙 트리 삽입 알고리즘 (Red-Black Trees in C, insertion algorithm) - 많은 검색-트리 구조 중 하나이다. - 기본 동적 명령들이 최악의 경우에도 O(lg n) 시간이 걸리도록 보장하기 위해 안정(balanced) 되었다. - 각 노드마다 하나의 추가적인 비트를 가지고 있다. - 편리한 상태처리를 위해 NIL을 나타내는 센티널 노드가 있다. - 다음 5가지의 특성을 만족하는 이진 트리이다. (1) 각 노드는 빨강 또는 검정색이다. (2) 루트(root)는 검정색이다. (3) 모든 leaf(NULL)은 블랙이다. (4) 만약 노드가 빨강이면, 해당 노드의 자식은 모두 검정이다. (5) 각 노드에 대해, 해당 노드에서 자식 노드까지의 모든 경로들은 같은 수의 .. 더보기