[개념]
- n개에서 r개를 택하여 나열하는 경우의 수
$$ \mathbin{ _n P _r } = { n! \over (n-r)! } = n(n-1)(n-2)\ ...\ (n-r+1) $$
단, \( 0<r<=n \)
- 순열은 엄격히 순서를 따져서, 가령 1, 2 와 2, 1 을 다른 경우로 본다.
- 가령 5개에서 2개를 순서를 고려해 뽑는다고 하면, 5 * 4 = 20 이 된다.
( 처음 자리에 들어갈 숫자 5개 * 하나를 이미 골랐으니 두번째 자리에 들어갈 숫자는 이제 4개 )
[실습1] 순열의 값을 구하는 프로그램을 만들어보자.
def permu_(numL, numR) :
result = 1
for i in range(numL,numL-numR,-1):
result *= i
print(i)
return result
numL = int(input('몇 개 중에서 :'))
numR = int(input('몇 개를 순서를 고려해 뽑을건가요\n : '))
print(permu_(numL,numR))
'''
몇 개 중에서 :10
몇 개를 순서를 고려해 뽑을건가요
: 3
10
9
8
몇 개 중에서 :5
몇 개를 순서를 고려해 뽑을건가요
: 2
5
4
20
몇 개 중에서 :3
몇 개를 순서를 고려해 뽑을건가요
: 3
3
2
1
6
'''
'기초 수학' 카테고리의 다른 글
[기초수학] 조합 (Combination) (0) | 2022.04.29 |
---|---|
[기초수학] 원 순열 (Cyclic permutation) (0) | 2022.04.28 |
[기초수학] 군수열 (0) | 2022.04.28 |
[기초수학] 팩토리얼 (0) | 2022.04.27 |
[기초수학] 피보나치 수열 (0) | 2022.04.27 |