순열 계산기

순열 계산기

순열의 개수를 계산하려면 선택할 수 있는 항목의 수(n)와 선택할 수 있는 횟수(일반적으로 k 또는 r로 나타냄)를 입력하고, 동일한 항목을 한 번 이상 선택할 수 있는 경우 "중복 허용" 확인란을 선택하세요. 그런 다음 "계산" 버튼을 누르면 아래에 결과가 표시됩니다.

결과:
2026-10-11, 작성
Adam Narkiewicz

Adam은 경제학 박사 학위를 보유하고 있으며, 기술 관련 글을 작성하고 온라인 애플리케이션 개발을 총괄합니다. 다음에서 Adam을 만나볼 수 있습니다:
https://narkiewicz.info/
https://www.linkedin.com/in/adamnarkiewicz/

순열이란 무엇인가요?

순열은 어떤 수열의 원소들을 순서를 바꾸어 수열하는 것입니다. 순열의 개수는 원소들을 서로 다른 순서로 배열할 수 있는 방법이 몇 가지인지 나타냅니다.

n개의 원소로 이루어진 집합에서 k개의 원소를 선택하여 배열하는 것을 n의 k-순열이라고 합니다. 순열 계산기는 주어진 n과 k에 대해 이러한 배열의 개수를 계산합니다. 일부 자료에서는 k 대신 r을 사용하기도 하는데, 두 문자는 같은 의미입니다.

n의 k-순열에는 두 가지 유형이 있습니다. 첫 번째는 중복이 없는 배열로, n개의 각 원소를 하나의 수열에서 한 번만 사용할 수 있습니다. 두 번째는 하나의 수열에서 같은 원소가 여러 번 나타날 수 있는 경우로, 이를 n의 k-중복순열이라고 합니다. 이 계산기를 사용하면 두 가지 유형의 순열을 모두 계산할 수 있습니다.

순열과 조합

순열은 조합과 혼동되는 경우가 많습니다. 예를 들어 일상적인 표현에서는 자물쇠나 금고를 여는 숫자의 조합을 말할 수 있습니다. 하지만 엄밀히 말하면, 자물쇠를 여는 숫자의 수열은 대부분 중복순열에 해당합니다.

수학에서 정의하는 순열과 조합의 차이는 순열에서는 원소의 순서가 중요하다는 것입니다. 따라서 순열에서는 원소의 배열과 수열에 대해 이야기합니다. 반면 조합에서는 순서가 중요하지 않으므로, 원소를 선택하는 것과 원소의 부분집합에 대해 이야기하는 것이 더 적절합니다.

자물쇠를 여는 비밀번호는 숫자의 순서가 분명히 중요한 순서열입니다. 하지만 일상적인 표현에서는 이를 흔히 "조합"이라고 부르며, 수학적으로는 정확한 표현이 아닙니다.

순열이 아닌 조합에 관심이 있다면 조합 계산기를 이용해 보세요.

순열 공식

먼저 중복이 없는 n의 k-순열을 생각해 봅시다. n개의 원소를 사용하여 길이가 k인 수열을 만들 때, 만들 수 있는 서로 다른 수열의 개수는 다음 공식으로 구할 수 있습니다.

P(n,k)=n!(n−k)!

공식에서 n!은 n의 팩토리얼을 의미합니다. P(n,k) 외에도 일부 자료에서는 다음과 같은 다른 기호를 사용하기도 합니다.

P(n,k)=Pkn=Pn,k=(n)k=nk_

반면 n의 k-중복순열은 다음 공식을 사용합니다.

U(n,k)=nk

이는 단순히 n을 k제곱한 것입니다.

순열 공식 설명

n개의 원소를 사용하여 길이가 k인 수열을 만들어야 한다고 생각해 봅시다. 수열의 첫 번째 자리에는 n개의 원소 중 어느 것이든 배치할 수 있습니다. 중복이 없는 순열에서는 선택한 원소를 원소 집합에서 제외하므로, 두 번째 자리에는 n−1개의 원소만 남습니다. 그런 다음 두 번째로 선택한 원소도 사용할 수 있는 원소에서 제외하면, 세 번째 자리에는 n−2개의 원소만 배치할 수 있습니다. 이 과정을 수열 전체를 채울 때까지 반복하면 다음과 같은 공식이 나옵니다.

P(n,k)=n×(n−1)×(n−2)×⋯×(n−k+1)⏟k개의 인수

그런 다음 이 공식의 값은 그대로 유지하면서 같은 수를 곱하고 나눌 수 있습니다. 여기서는 (n−k)!를 선택하여 다음과 같은 식을 얻습니다.

P(n,k)=n×(n−1)×(n−2)×⋯×(n−k+1)×(n−k)!(n−k)!=n!(n−k)!

중복순열의 경우에도 처음에는 상황이 비슷합니다. 수열의 첫 번째 자리에는 n개의 원소 중 하나를 선택할 수 있습니다. 하지만 중복이 허용되므로 선택한 원소를 사용할 수 있는 원소에서 제외하지 않습니다. 따라서 수열의 두 번째 자리에서도 여전히 n개의 원소 중에서 선택할 수 있습니다. 세 번째 자리도 마찬가지이며, 이런 방식으로 계속됩니다. 이렇게 k번 선택하고 나면 최종 공식은 다음과 같이 됩니다.

U(n,k)=n×n×⋯×n⏟k개의 인수=nk

순열 예시

예시: 카드 한 벌을 배열하는 순열은 몇 가지일까요?

일반적인 카드 한 벌에는 52장의 카드가 있습니다. 이 카드들을 서로 다르게 배열할 수 있는 경우의 수는 얼마일까요? 사용할 수 있는 전체 원소의 개수가 52이므로 n = 52입니다. 수열의 길이, 즉 배열에 포함하려는 카드의 수도 52입니다. 카드 한 벌 전체를 배열하려고 하기 때문입니다. 따라서 k = 52입니다. 각 카드가 배열에 정확히 한 번씩만 등장하므로 중복은 없습니다. 이제 공식에 필요한 정보가 모두 준비되었으므로 다음과 같이 공식을 적용할 수 있습니다.

P(52,52)=52!(52−52)!=52!0!=52!≈8.066×1067

이것은 매우 큰 수입니다. 정확한 결과는 순열 계산기를 사용하여 구할 수 있습니다. 표본의 크기가 전체 원소의 개수와 같으므로, 즉 k = n이므로 공식은 간단한 팩토리얼로 정리됩니다. 따라서 52의 팩토리얼을 계산해도 정확한 답을 구할 수 있습니다.

예시: "사과나무"에서 3음절 단어를 몇 개 만들 수 있을까요?

서로 다른 네 개의 음절이 있고, 이 글자들을 사용하여 서로 다른 세 글자 배열을 몇 가지 만들 수 있는지 알아보겠습니다. 이번에도 각 글자는 한 번만 사용할 수 있으므로 공식은 P(4,3)=24입니다. 다음은 24가지 순열을 모두 나타낸 것입니다.

사과나
사과무
사나과
사나무
사무과
사무나
과사나
과사무
과나사
과나무
과무사
과무나
나사과
나사무
나과사
나과무
나무사
나무과
무사과
무사나
무과사
무과나
무나사
무나과

예시: 서로 다른 색깔의 공 7개를 어린이 4명에게 나누어 주는 방법은 몇 가지일까요?

이 예시에서는 어린이 민준, 서준, 지우, 서연에게 각각 공 하나씩을 주려고 합니다. 공은 흰색, 주황색, 파란색, 초록색, 노란색, 보라색, 갈색으로 총 7개가 있습니다. 각 어린이에게 공 하나씩을 나누어 주는 방법은 모두 몇 가지일까요? 이번에도 순열을 활용할 수 있습니다. 같은 공을 두 명 이상의 어린이에게 줄 수 없으므로 중복이 없는 순열을 사용합니다: P(7,4)=840.

따라서 어린이들에게 공을 나누어 주는 방법은 840가지입니다.

예시: 20명으로 구성된 단체에서 회장, 서기, 회계 담당자를 선출하는 방법은 몇 가지일까요?

회장이 될 수 있는 사람은 20명입니다. 이 중 한 명을 선택해 봅시다. 이제 회장이 정해졌으므로 서기가 될 수 있는 사람은 19명입니다. 마지막으로 회장과 서기가 정해지면 회계 담당자가 될 수 있는 사람은 18명입니다. 이 수들을 곱하면 세 가지 직책에 세 명의 구성원을 선출할 수 있는 경우의 수는 20×19×18=6840가지가 됩니다.

일반적으로 채워야 할 서로 다른 직책이 k개이고 후보자가 n명이라면, 이를 정하는 방법은 정확히 P(n,k)가지입니다. 이 경우에는 P(20,3)=6840입니다.

예시: 0이 없는 4자리 자물쇠의 조합은 몇 가지일까요?

이것은 일반적인 자물쇠가 아닙니다. 숫자가 0부터 9까지가 아니라 1부터 9까지이기 때문입니다. 따라서 원소의 개수는 n = 9입니다. 수열의 길이는 k = 4입니다. 각 숫자는 필요한 만큼 여러 번 사용할 수 있으므로, 이 경우에는 중복순열을 사용합니다. 공식은

U(n,k)=nk=94=6561

입니다. 가능한 "조합"은 6561가지입니다. 각 조합을 확인하는 데 1초가 걸린다면, 모든 조합을 확인하는 데 2시간도 걸리지 않습니다. 여기서 이 질문에 사용된 "조합"이라는 표현은 엄밀하게는 정확하지 않다는 점에 유의하세요. 숫자의 순서가 중요하므로, 여기서는 조합이 아니라 중복순열이라고 해야 합니다.

예시: 비밀번호는 몇 가지나 있을까요?

답은 비밀번호의 길이와 사용할 수 있는 문자의 개수에 따라 달라집니다. 예를 들어 길이가 10자인 비밀번호의 개수를 계산해 보겠습니다. 사용할 수 있는 문자는 소문자와 대문자 영어문자(a-z 및 A-Z, 총 52자), 숫자(0~9), 특수 문자(총 30자)입니다:

! @ # $ % ^ & * ( ) - _ = + [ ] \ { } | ; : ' " , . / < > ?

총 52 + 10 + 30 = 92개의 서로 다른 문자를 사용할 수 있습니다. 각 문자를 원하는 만큼 여러 번 사용할 수 있으므로, n의 k-중복순열을 계산하는 것입니다. 공식은

U(n,k)=nk=9210=43,438,845,422,363,213,824

입니다. 이는 매우 많은 수의 고유한 비밀번호입니다. 문자들을 무작위로 선택했다면, qwert12345나 Password0!처럼 쉽게 추측할 수 있는 비밀번호를 만들지 않았다면, 가능한 모든 "조합"을 하나씩 확인하는 방식으로 누군가가 여러분의 비밀번호를 알아낼 가능성은 사실상 없습니다.

Python에서의 순열

Python과 같은 프로그래밍 언어로 순열의 개수를 계산하려면 순열 공식을 사용하여 직접 함수를 만들 수 있습니다.

import math def nPk(n, k): return int(math.factorial(n) / math.factorial(n - k))

마찬가지로 중복순열에 대한 공식을 사용하여 함수를 만들 수 있습니다.

def nUk(n, k): return n**k

중복이 없는 모든 순열을 생성하려면 다음과 같이 작성할 수 있습니다.

from itertools, import permutations def list_perms(n, k): perms = permutations(range(n), k) for p in perms: print(p)

중복순열을 생성하려면 다음과 같이 작성할 수 있습니다.

import itertools def list_perms_with_replacents(n, k): for perm in itertools.product(range(n), repeat=k): print(perm)

큰 수의 거듭제곱 계산기

중복순열의 공식이 U(n,k)=nk이므로, 이 순열 계산기를 거듭제곱 계산기로 사용하여 어떤 수의 거듭제곱을 계산할 수 있습니다. 특히 결과가 매우 큰 경우 유용합니다. 예를 들어 31000의 정확한 값을 쉽게 구할 수 있습니다. 일반적인 계산기는 큰 수를 처리하는 데 한계가 있기 때문입니다. "중복 허용" 확인란을 선택한 다음, 거듭제곱할 수를 n으로, 지수를 k로 입력하세요. 0 이상의 정수만 사용할 수 있습니다.

순열 계산기 사용 방법

이 계산기를 사용하려면 n이라고 표시된 입력란에 선택할 수 있는 원소의 개수를 입력하세요. 표본의 크기, 즉 수열의 길이는 아래에 있는 k 또는 r이라고 표시된 입력란에 입력하세요. 중복순열을 계산하려면 "중복 허용" 확인란을 선택하세요. 그런 다음 "계산" 버튼을 눌러 계산하거나, 값을 다시 입력하려면 "지우기" 버튼을 누르세요.

결과는 아래의 "결과" 필드에 표시됩니다. 결과가 작은 경우 한 줄로 표시됩니다. 큰 수는 두 가지 방식으로 표시됩니다. 위에는 과학적 기수법으로 나타낸 근삿값이 표시되고, 아래에는 정확한 값이 표시됩니다. 계산 중 오류가 발생하면 결과 대신 오류 메시지가 표시됩니다.

계산기에는 0 이상의 정수만 입력할 수 있습니다. 중복순열의 경우에는 입력한 두 수가 추가로 k ≤ n을 만족해야 합니다. 중복이 있는 순열의 경우에는 두 수가 동시에 0일 수 없습니다. 00의 값은 정의되지 않기 때문입니다. 입력할 수 있는 값에 상한은 없습니다. 예를 들어 n = 8000000000, k = 1000과 같은 큰 값도 쉽게 계산할 수 있습니다(지구의 인구 중 1,000명을 선택하는 방법의 수를 구하는 경우 등). 시스템 설정에 따라 이보다 훨씬 큰 결과도 계산할 수 있습니다. 다만 큰 수를 계산하는 데 오랜 시간이 걸릴 수 있으며, 계산량이 기기의 처리 용량을 초과하면 웹사이트가 작동을 멈출 수도 있습니다.

결과를 표시할 진법을 선택할 수 있습니다. 기본값은 10이며, 결과가 십진법으로 표시됩니다. 진법은 2부터 36까지의 정수 중에서 선택할 수 있습니다. 단, 선택한 진법은 결과를 표시할 때만 적용됩니다. n과 k에 입력한 값은 항상 십진법으로 입력된 것으로 처리됩니다.

다음과 같은 옵션을 사용할 수 있습니다. 1) 결과를 클립보드에 복사, 2) 결과를 파일로 다운로드, 3) 결과를 인쇄, 4) 결과 링크를 클립보드에 복사, 5) "결과" 필드를 지우기. 이러한 옵션을 활성화하려면 "결과" 필드 위에 있는 해당 아이콘을 사용하세요.

이 콘텐츠 인용 또는 포함

이 웹사이트를 출처로 명시하는 경우 상업적 용도를 포함하여 무료로 사용할 수 있습니다. 학술적인 글에서 인용하는 경우 다음 인용 형식을 사용할 수 있습니다.

Narkiewicz A. 《순열 계산기》. https://minesweeper.us/지뢰찾기/순열-계산기/. 에 확인함.

이 웹사이트를 인터넷에서 인용하려면 메인 URL(https://minesweeper.us/지뢰찾기/순열-계산기/)을 링크하거나, 특정 결과를 링크하려는 경우 "링크를 클립보드에 복사" 버튼을 사용하면 됩니다.

또한 iframe 요소를 사용하여 이 페이지를 웹사이트에 포함할 수 있습니다. 페이지에 계산기만 표시하고 나머지 콘텐츠(메뉴, 문서 등)는 모두 숨기려면 다음 URL을 src 속성에 사용할 수 있습니다. https://minesweeper.us지뢰찾기/순열-계산기/?iframe=1.

웹사이트에 이 페이지를 인용하고 클릭할 수 있는 링크를 추가하여 출처를 밝혀 주세요. 또한 contact@simiade.com으로 이메일을 보내 웹사이트에 저희 앱을 포함했다는 사실을 알려주시면 좋습니다. 그러면 저희 앱에 변경 사항이 발생하여 웹마스터가 웹사이트에서 앱을 표시하는 방식을 업데이트해야 하는 경우 알려드릴 수 있습니다.

참고 자료

Charalambides, Charalambos A., Enumerative Combinatorics, CRC Press, 2002.

문의하기

질문, 의견 또는 제안 사항이 있으시면 여기에 피드백을 남겨주세요.

또는 우편으로 문의하실 수 있습니다:

Simiade
Adam Narkiewicz
Plac Bankowy 2
00-095 Warszawa
폴란드
+48 728235409
contact@simiade.com
https://simiade.com/ko/

0 이상의 정수를 입력해야 합니다. 구분 기호는 사용하지 마세요. 숫자만 입력할 수 있습니다.

진법은 2에서 36 사이의 정수여야 합니다.

개의 원소로 이루어진 집합에서 길이가 인 순열을 계산하는 중입니다. 잠시만 기다려 주세요…

(중복 있음)

결과를 표시하는 중입니다…

오류가 발생했습니다:

(진법)

중복순열에서는 n과 k가 동시에 0일 수 없습니다.

순열 계산기 | 큰 수 |

P(,)

U(,)

n은 k보다 작을 수 없습니다.

n=, k=인 순열

진법

중복 있음

현재 중복이 허용되지 않습니다

현재 중복이 허용됩니다

피드백이 전송되었습니다. 감사합니다!