Knowledge/기초수학

[기초수학] 순열(Permutation)

똑똑한망치 2023. 11. 18. 19:30
728x90
반응형

1. 팩토리얼


  • 1부터 n까지 모든 자연수의 곱 (n!)
  • n! = n * (n-1) * (n-2) * ..... * 1
//팩토리얼

int n = 5;
int result = 1;

for (int i=1; i<=n ; i++) {
	result *= i;
}

 

 

 


 

 

 

2. 순열 (Permutation)


  • 순서를 정해서 나열
  • 서로 다른 n개 중에 r개를 선택하는 경우의 수 
  • 순서 O, 중복 X
  • 예) 서로 다른 4명 중 반장, 부반장을 뽑는 방법

// 순열 (Permutation)

int n = 6;
int r = 1;
int result = 1;

for (int i = n; i >= n-r+1 ; i++) {
	result *= i;
}

 

 

 


 

 

 

3. 중복 순열


  • 서로 다른 n개 중에 r개를 선택하는 경우의 수
  • 순서 O, 중복 O
  • 예) 서로 다른 4개의 수 중 2개를 중복가능한 상태로 뽑는 방법, 후보가 2명 유권자가 3명일 때 기명 투표 방법 등 ..

// 중복 순열

int n = 4;
int r = 2;
result = 1;

for (int i = 1; i<=r ; i++) {
	result *= n;
}

 

 

 


 

 

 

4. 원 순열


  • 원 모양의 테이블에 n개의 원소를 나열하는 경우의 수
  • 예) 원 모양의 테이블에 5명이 앉는 경우

// 원 순열

int result = 1;

for (int i = 1; i < n; i++) {
	result *= i;
}
반응형

'Knowledge > 기초수학' 카테고리의 다른 글

[기초수학] 지수와 로그  (2) 2023.11.18
[기초수학] 점화식과 재귀함수  (1) 2023.11.18
[기초수학] 조합 (Combination)  (0) 2023.11.18
[기초수학] 경우의 수  (2) 2023.11.14
[기초수학] 집합  (0) 2023.11.14