{a1, a2, ..., an}의 부분집합의 개수는 => 2^n개 이다.
집합B의 원소의 개수가 n일때, 부분집합의 개수는 2^n개로 주어지는 이유는 임의로 B={a1, a2, a3, ... an}으로 두고, 우선 가능한 부분집합을 빈 공간 { }으로 보면, 여기에 각 원소를 넣을 것인지, 넣지 않을 것인지를 판단할 수 있습니다. 즉 n개의 모든 원소에 대해 부분집합을 꾸릴 수 있는 총 경우의 수는, 각 원소들을 포함시킬 것이냐, 제외시킬 것이냐 두 가지의 경울의 수를 각각 곱해줌으로써 구할 수 있습니다.
예를 들어 빈 공간에 a1, a2, ... an이 모두 포함되지 않는다면 (모두 제외) 부분집합은 공집합이 될 것이고, 모두 포함시킨다면 부분집합은 n개의 원소가 모두 포함된 자기 자신으로 나올 것입니다. 한 편, 한 원소 a1만 포함시키고 나머지 원소들은 포함시키지 않는 경웅엔 부분집합이 {a1}으로 얻어집니다. 이런 식으로 하면 가능한 모든 부분집합의 개수를 셀 수 있습니다.
따라서, a1에 대해 포함/불포함 2가지, a2에 대해 포함/불포함 2가지, ... an에 대해 포함/불포함 2가지를 모두 곱한 2^n이 총 부분집합의 가짓수가 되는 것입니다.
실수의 집합 R의 임의의 원소 a,b,c에 대하여 다음 성질이 성립한다.
(1) 기본법칙
교환법칙 a + b = b + a, a x b = b x a
결합법칙 ( a + b ) + c = a + ( b + c ), (a x b) x c = a x (b x c)
분배법칙 a x ( b + c ) = a x b + a x c, (b + c) x a = b x a + c x a
(2) 항등원
덧셈에 대한 항등원 : a + 0 = 0 + a = a, 0 ∈ R
곱셈에 대한 항등원 : a x 1 = 1 x a = a, 1 ∈ R
(3) 역원
덧셈에 대한 a의 역원 : a x (-a) = (-a) + a = 0 -a ∈ R
곱셈에 대한 a의 역원 : a x 1/a = 1/a x a = a, 1/a ∈ R
정수의 분류)
모든 정수는 양의 정수 k로 나눈 나머지에 의하여
kn, kn + 1, kn + 2, ..., kn + (k-1) (단, n은 정수)
로 분류되며, 임의의 정수는 이 중 어느 하나의 꼴로 나타낼 수 있다.
배수에 관한 법칙)
(1) 각 자리의 수의 합이 3의 배수인 정수는 3의 배수이고,
각 자리의 수의 합이 9의 배수인 정수는 9의 배수이다.
(2) 연속한 2개의 정수의 곱은 2의 배수이고,
연속한 3개의 정수의 곱은 2 및 3의 배수이고,
연속한 4개의 정수의 곱은 2,3 및 4의 배수이다.
이를테면 세 자리의 정수 N이 있다고 하자.
N의 백의 자리수, 십의 자리수, 일의 자리수를 각각 x, y, z라 하면 N은
N=100x + 10y + z = (99+1)x + (9+1)y + z
=99x + 9y + x + y + z = 9(11x + y) + (x + y +z)
와 같이 변형되므로 각 자라의 수의 합인 x+y+z가 3의 배수이면 N도 3의 배수이고, x+y+z가 9의 배수이면 N도 9의 배수임을 알 수 있다.
소수와 소인수 분해)
1: 양의 약수 1개
소수: 양의 약수 2개
합성수: 양의 약수 3개 이상
N이 N=a^α*b^β과 같이 소인수분해될 때,
N의 양의 약수의 개수 => (α + 1)(β + 1)
N의 양의 약수의 총합 => (a^0 + a^1 + ... + a^α)(b^0 + b^1 + ... + b^β)
X |
2^0 |
2^1 |
2^2 |
3^0 |
3^0 X 2^0 |
3^0 X 2^1 |
3^0 X 2^2 |
3^1 |
3^1 X 2^0 |
3^1 X 2^1 |
3^1 X 2^2 |
비둘기집의 원리)
일반적으로 n개의 비둘기집에 n+1마리의 비둘기가 살면, 적어도 한 집에서는 두 마리 이상의 비둘기가 살게 된다는 것을 비둘기집의 원리(pigeon-hole principle)라고 한다.
최대공약수와 최소공배수)
공약수는 최대공약수의 약수이다.
공배수는 최소공배수의 배수이다.
최대공약수: 이를테면 두 정수 12와 18의 공통인 약수는 -6, -3, -2, -1, 1, 2, 3, 6이고, 이 중에서 가장 큰 수는 6임을 알 수 있다. 일반적으로 두 개 이상의 정수의 공통인 약수를 그 수들의 공약수라 하고, 공약수 중에서 가장 큰 수를 최대 공약수(G.C.D. : Greatest Common Divisor)라 한다.
서로소: 이를테면 두 정수 3과 4는 최대공약수가 1이다. 이와같이 최대공약수가 1인 두 정수를 서로소라 한다.
최소공배수: 이를테면 두 정수 4와 6의 공통인 배수는 ..., -36, -24, -12, 0, 12, 24, 36, ...이 있고, 이 중에서 양수이면서 가장 작은 수는 12임을 알 수 있다.
일반적으로 두 개 이상의 정수의 공통인 배수를 그 수들의 공배수라 하고, 공배수 중에서 양수이면서 가장 작은 수를 최소공배수(L.C.M는 Least Common Multiple)라 한다.
최대공약수와 최소공배수와의 관계)
두 자연수 A, B의 최대공약수를 G, 최소공배수를 L이라 하면 다음 관계가 성립한다.
1) A = Ga, B = Gb (단, a,b는 서로소
2) L = Gab
3) LG = AB
다항식의 사칙연산)
수학은 정의로부터 시작하는 학문이라 할 수 있다. 곧, 용어나 기호의 의미를 정확하게 알아 두는 일은 수학공부를 시작하는 기본이라 할 수 있겠다. 이런 뜻에서 이 절의 학습을 시작함에 있어서도 이미 중학교에서 배운 바 있는 몇 가지 용어의 뜻에 대하여 정확하게 이해해 둘 필요가 있다.
단항식, 다항식, 항, 계수, 동류항
다항식의 정리)
내림차순 : 한 문자에 관하여 차수가 높은 항부터 나열하는 것
오름차순 : 한 문자에 관하여 차수가 낮은 항부터 나열하는 것
연산의 기본법칙)
A, B, C를 다항식이라 할 때,
(1) 교환법칙 A + B = B + A A*B = B*A
(2) 결합법칙 (A+B)+C = A+(B+C) (A*B)*C = A*(B*C)
(3) 분배법칙 A*(B+C) = A*B + A*C (B+C)*A = B*A + C*A
조립제법)
조립제법(Synthetic division)이란 간단히 곱셈과 덧셈으로만 이루어지는 적은 계산과 다항식을 내림차순으로 정리하여 계수들만 표기하는 간단한 계수들의 조립으로 다항식의 긴 나눗셈을 보다 효율적이고 간단하게 수행하는 방법이다.
어떤 다항식을 특별히 일차식으로 나눗셈을 할 경우 Ruffini의 규칙이라 한다. 이 규칙은 나누는 수(일차식)의 상수항의 부호에 (-1)을 곱하여 그 수를 중심으로 삼아, 뺄셈을 덧셈과 곱셈형식으로 전환시키는 원리를 지니고 있다. 이 원리를 토대로 조립제법은 직접하는 다항식의 나눗셈의 뺄셈과정보다 더 익숙한 덧셈과 곱셈과정만으로 답을 추구할 수 있다는 의의를 지니고 있다.
이 부분에서 정의한 조립제법은 최고차항의 계수가 1인 다항식으로 나눌 때의 경우만 가능하다. 따라서 최고차항의 계수가 1이 아닌 경우는 1인경우로 변형하여 조립제법을 한 다음, 구해진 몫의 계수를 조정하는 별도의 계산이 필요할 수 밖에 없다.
조립제법(Synthetic division)을 영어로 직역하면 (종합적으로) 합성한 나눗셈을 의미하는데, 이는 나누어지는 다항식(피제수)의 각 항들을 내림차순으로 정리하여 계수들만 정렬시키고, 나눌 다항식(제수)의 상수항에 (-1)을 곱함으로써 부호를 바꾼 항을 왼쪽 칸에 배열시켜서 계수들을 합성시키는 이 과정에 초점을 맞춰 이름을 지었다고 할 수 있다.
조립제법은 Synthetic division을 한자어로 번역한 것으로, 의미는 대체적으로 같다. 피제수와 제수의 각 계수들을 특정하게 배열하여 알맞게 조립제법의 형태를 세우고 이 형식으로 나눗셈을 수행하는 것을 의미한다.
조립제법의 이름은 조립제법을 하는 방법에 초점을 두어 정의되었다. 무엇보다 간편한 나눗셈을 수행하기위해, 조립제법을 하는 방법을 강조하는데에 초점을 둔 것이다.
등식의 성질)
A = B 이면,
① A + m = B + m ② A - m = B - m
③ A x m = B x m ④ A/m = B/m (단, m은 0이 아니다)
'프로그래밍(TA, AA) > 알고리즘' 카테고리의 다른 글
[알고리즘] 행렬 경로 문제 (0) | 2017.06.25 |
---|---|
[알고리즘] 자료구조 (0) | 2017.06.24 |
[수학] 인수분해 정리 (0) | 2017.06.08 |
[알고리즘] 비선형구조의 탐색, 그래프의 구현 (0) | 2017.05.19 |
[알고리즘] 깊이우선 탐색, 너비우선 탐색 (0) | 2017.05.19 |