계승(수학)
최근 수정 시각: (5년 전)
차례곱에서 넘어옴
분류
1. 개요 [편집]
階乘, Factorial
수학 용어. 영단어 factorial [fækˈtɔ:riəl]을 소리나는 대로 쓴 '팩토리얼'[1]이라고 표기하기도 한다. 기억이 안 나면 느낌표라고 표현하기도 한다. 문화어로는 차례곱이라고 하는데 부터 차례대로 곱한다는 의미[2]이다. 자연수 을 이용하여 기호로는 간단하게 로 나타내며 부터 까지의 자연수를 모두 곱하는 것을 의미한다.
로 나타내기도 하는데, 부터 까지 합 연산을 의미하는 처럼 는 곱연산을 의미한다.
고등학교 교육과정에서는 중복 순열 기호로왜 써야 하는지도 의문인 를 쓰는 것도 있고, 여러개의 항을 곱하는 것을 거의 다루지 않다 보니 곱의 기호 를 가르치지 않기 때문에 계승을 접하는 확률과 통계, 수학 과목에서는 으로 배운다.
그러나 이중 계승()[3]이나 다중 계승()[4], 상승·하강 계승 등의 심화 개념을 이해하려면 식을 거꾸로 기억하는 것이 좋다.
그러니까 , 즉 부터 씩 빼서 까지 곱하는 것으로 기억하자.
순열이나 조합 등 조합론의 여러 분야에서 빈번하게 쓰이는 기호이기 때문에 의 범위는 일반적으로 음이 아닌 정수로 확장, 즉 을 포함하는데, 은 특별히 로 정의한다. 예를 들자면 서로 다른 개의 물건에서 개를 모두 뽑아 나열하는 경우의 수()는 인데, 이므로 이며, 정의의 일관성을 유지하려면 이어야 한다.
만약 이라면 순열 뿐만 아니라 조합론의 거의 모든 개념에서 일일이 경우를 나눠서 재정의 해야할 것이다. 등의 점화식 역시 로 정의하면 자연수 범위에서 성립하는 걸로 만들 수 있다. 참고로 이다.[5]
계승은 매우 빠른 속도로 증가한다. 까지의 값은 다음과 같다.
수학 용어. 영단어 factorial [fækˈtɔ:riəl]을 소리나는 대로 쓴 '팩토리얼'[1]이라고 표기하기도 한다. 기억이 안 나면 느낌표라고 표현하기도 한다. 문화어로는 차례곱이라고 하는데 부터 차례대로 곱한다는 의미[2]이다. 자연수 을 이용하여 기호로는 간단하게 로 나타내며 부터 까지의 자연수를 모두 곱하는 것을 의미한다.
로 나타내기도 하는데, 부터 까지 합 연산을 의미하는 처럼 는 곱연산을 의미한다.
고등학교 교육과정에서는 중복 순열 기호로
그러나 이중 계승()[3]이나 다중 계승()[4], 상승·하강 계승 등의 심화 개념을 이해하려면 식을 거꾸로 기억하는 것이 좋다.
그러니까 , 즉 부터 씩 빼서 까지 곱하는 것으로 기억하자.
순열이나 조합 등 조합론의 여러 분야에서 빈번하게 쓰이는 기호이기 때문에 의 범위는 일반적으로 음이 아닌 정수로 확장, 즉 을 포함하는데, 은 특별히 로 정의한다. 예를 들자면 서로 다른 개의 물건에서 개를 모두 뽑아 나열하는 경우의 수()는 인데, 이므로 이며, 정의의 일관성을 유지하려면 이어야 한다.
만약 이라면 순열 뿐만 아니라 조합론의 거의 모든 개념에서 일일이 경우를 나눠서 재정의 해야할 것이다. 등의 점화식 역시 로 정의하면 자연수 범위에서 성립하는 걸로 만들 수 있다. 참고로 이다.[5]
계승은 매우 빠른 속도로 증가한다. 까지의 값은 다음과 같다.
고작 10까지만 해도 벌써 백만 자리를 넘어간다.
2. 하강 계승 / 상승 계승 [편집]
하강 계승(Falling Factorial) 은 계승의 정의 에서 까지가 아닌 까지의 곱으로 정의된다. 즉,
과 같다. 그런데 이므로 하강 계승은 곧 순열 와 동치임을 알 수 있다. 조합 기호 을 이용하면 로도 나타낼 수 있다.
이와 비슷하게 상승 계승(Rising Factorial) 은 하강 계승의 부분곱 식에서 를 로 바꾼 식으로 정의된다.
이와 비슷하게 상승 계승(Rising Factorial) 은 하강 계승의 부분곱 식에서 를 로 바꾼 식으로 정의된다.
조합과 비슷하게 위 식은 중복 조합 에서 등장하므로 로도 나타낼 수 있다.
하강 계승의 정의에서 에 을 대입하면 다음과 같이 식이 바뀌면서 상승 계승에 대한 식으로 변한다.
하강 계승의 정의에서 에 을 대입하면 다음과 같이 식이 바뀌면서 상승 계승에 대한 식으로 변한다.
3. 정의역의 확장 [편집]
4. 알고리즘 [편집]
계승 알고리즘은 컴퓨터에서 두 가지 형태로 구현할 수 있다.
반복문(iteration, loop) 형태의 알고리즘
재귀(recursion) 형태의 알고리즘
두 알고리즘은 모두 시간복잡도가 이지만, 재귀 함수는 반복하여 호출할수록 메모리 공간을 더 차지하므로, 숫자가 커지면 반복문 알고리즘이 상대적으로 효율적이다.
unsigned int fact_iter (unsigned int n) { // 계승은 음이 아닌 정수에 대해서만 정의된다.
if (n <= 1) return 1; // 1! = 0! = 1이므로 1을 반환한다.
int result = n;
for (int i = n - 1; i > 1; i--) result *= i; // n부터 하나씩 값을 줄여가며 그 값을 결과값에 곱한다.
return result;
}반복문(iteration, loop) 형태의 알고리즘
unsigned int fact_rcsv (unsigned int n) {
if (n <= 1) return 1; // 1! = 0! = 1이므로 1을 반환한다.
return n * fact_rcsv(n - 1); // n! = n * (n - 1)!이므로, n - 1에 대한 함수를 한 번 더 호출한다.
}재귀(recursion) 형태의 알고리즘
두 알고리즘은 모두 시간복잡도가 이지만, 재귀 함수는 반복하여 호출할수록 메모리 공간을 더 차지하므로, 숫자가 커지면 반복문 알고리즘이 상대적으로 효율적이다.
5. 기타 [편집]
이것을 기반으로 한 공대개그가 존재한다. 예를 들어 를 '삼!'이라고 강하게 읽으면 일반인, '삼 팩토리얼'이라고 읽으면 공대생, 애똑이라고 읽으면 이론언어학 전공자라는 식. 3쾅이라고 읽으면 수학 귀신 애독자
오랫동안 수학자들을 괴롭힌 P-NP 문제의 단골 소재 중 하나다.
숫자 뒤가 아닌 숫자 앞에 느낌표를 붙이게 되면(의 꼴, 은 자연수) 개의 원소에 대한 완전순열(Derangement)의 수를 의미하게 되며, 이 때는 준계승(Subfactorial)이라 부르게 된다. 완전순열은 섞인 모자들 속에서 사람들이 아무도 자기 모자를 집어가지 않는 경우 등을 셀 때 쓰이며, 의 공식은 보다 복잡하다. 자세한 내용은 완전순열 참고.
오랫동안 수학자들을 괴롭힌 P-NP 문제의 단골 소재 중 하나다.
숫자 뒤가 아닌 숫자 앞에 느낌표를 붙이게 되면(의 꼴, 은 자연수) 개의 원소에 대한 완전순열(Derangement)의 수를 의미하게 되며, 이 때는 준계승(Subfactorial)이라 부르게 된다. 완전순열은 섞인 모자들 속에서 사람들이 아무도 자기 모자를 집어가지 않는 경우 등을 셀 때 쓰이며, 의 공식은 보다 복잡하다. 자세한 내용은 완전순열 참고.
6. 관련 문서 [편집]
라이선스를 별도로 명시하지 않은 문서는 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다.
기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권을 갖습니다.
문서의 기여자는 역사 탭에서 확인할 수 있습니다.
접두어의 N: - 나무위키 사용자, R: - 리그베다 위키의 사용자를 뜻합니다.
자세한 사항은 나무위키에서 동일한 문서의 역사를 참고하시기 바랍니다.