수학
-
[이산수학 - 1강] 이산수학은 무엇이며 왜 배우는 걸까?Knowledge/Math 2020. 5. 17. 14:51
한국방송통신대학교 이산수학 강의 1강을 듣고 공부한 내용을 정리한 포스팅입니다 1강의 학습목표 이산적인 데이터와 연속적인 데이터를 구분할 수 있다. 문제 해결과정에 사용되는 용어들을 도구, 기법, 방법론으로 구분할 수 있다. 추상화의 의미를 이해할 수 있다. 알고리즘을 기술하기 위한 의사코드의 사용법을 이해하고 올바르게 사용할 수 있다. - 이산수학 ( discreate mathmatics ) 이란? 이산적인 ( 연속적인 ) 수학구조에 대해서 연구하는 학문 이산적 데이터를 처리 ( ex: 아날로그 시그널, 데이터 - 변환 -> 디지털 시그널, 데이터 ) 하기 위해 필요한 수학 이산수학의 주요내용 논리, 증명, 집합, 행렬, 관계, 함수, 부울대수, 그래프, 트리, 조합이론, 알고리즘, 오토마타 ..
-
팩토리얼Knowledge/Math 2019. 9. 6. 14:40
팩토리얼은 1부터 그 수보다 작거나 같은 수를 모두 곱한 값이다 예를 들어 5의 팩토리얼은 5! 라 표시하고 1 * 2 * 3* 4* 5 해서 120이 된다. 즉 팩토리얼은 매우 큰 값이 나오게 되어 있어서 팩토리얼 자체를 구하는 문제보단 팩토리얼 값에 있는 0의 갯수를 정하는 식의 문제가 나온다. 근데 물론 팩토리얼 값을 구하고 거기서 0의 갯수를 새는 건 의미가 없으니 다음과 같은 방법을 사용할 수 있다 팩토리얼 값을 소인수 분해해봤을 때 0이 나오는 건 10 그러니까 2와 5를 곱했을 경우에만 가능하기 때문에 소인수 분해했을 때 나오는 5의 갯수가 곧 팩토리얼 값의 0의 갯수와 같다. 이걸 구현할 때는 물론 팩토리얼 값을 구해서 소인수분해를 직접해보는 건 이렇게 값을 우회해서 구하는 의미가 없는 일..
-
나머지 연산Knowledge/Math 2019. 9. 5. 20:54
알고리즘 문제를 풀다보면 정수형으로 표현하기엔 너무 큰 값이 나올 때가 있다. 이럴 경우엔 크기를 줄이기 위해 특정 숫자로 나눈 나머지를 출력하라는 식으로 답을 요구하곤 한다. 이럴 때는 답을 다 구하고 나머지 연산을 수행하는 게 아니고 정답을 갱신할 때 마다 나머지 연산을 수행해 줘야 한다. ( A + B ) % M 은 ( ( A % M ) + ( B % M ) ) % M 과 같기 때문 이는 곱셈에서도 ( A X B ) % M 은 ( ( A % M ) X ( B % M ) ) % M 이와 같이 성립한다. 다만 나누기의 경우엔 성립하지 않고 뺄셈의 경우엔 주의해야 하는 부분이 있다. 예를 들어 (6 - 5) % 3 은 1. 즉, 1 % 3은 1이 나오지만 (6%3 - 5%3) % 3 은 (0-2) % 3..