반응형 java9 점화식(Recurrence), 재귀함수 점화식 어떤 수열의 일반항을 그 이전의 항들을 이용해 정의한 식 ex) 피보나치 수열 재귀함수 어떤 함수가 자신을 다시 호출해서 작업을 수행하는 방식 반환타입 함수이름 (매개변수) { 종료조건 (없을 시에는 무한루프됨.) ... 함수이름(...) } 3씩 곱해질 때의 n번째 수 구하기 // 1, 3, 9, 27, ... 의 n번째 수 int n = 4; int result = 1; for (int i = 0; i < n; i++) { if (i == 0) { result = 1; } else { result *= 3; } } System.out.println(result); //재귀함수로 구현 static int recursion(int n) { if(n == 1) { return 1; } return .. 2024. 2. 27. 조합 (Combination) 조합 서로 다른 n 개 중 r개를 선택하는 경우의 수 (순서 x, 중복 x) ex) 서로 다른 4명 중 주번 2명 뽑기 int n = 4; int r = 2; int pResult = 1; //순열 구하기 for (int i = n; i >= n- r +1; i--) { pResult *= i; } int rResult = 1; //r!구하기 for (int i = 1; i = n- r +1; i--) { pResult *= i; } int rResult = 1; //r! 구하기 for (int i = 1; i 세자리 자연수 만들기 public class Practice { void combination(int[] arr, boolean[] visited, int depth, int n, int r) {.. 2024. 2. 27. 순열(Permutation), 팩토리얼(Factorial) 순열 순서를 정해서 나열, 서로 다른 n개 중 r개를 선택하는 경우의 수 (순서O, 중복 X) ex ) 5명을 3줄로 세우기, 서로 다른 4명 중 반장, 부반장 뽑기 System.out.println("== 순열 =="); // 5명을 3줄로 세우는 경우의 수 n = 5; int r = 3; result = 1; for (int i = n; i >= n - r + 1 ; i--) { result *= i; } System.out.println("결과: " + result); 팩토리얼(Factorial) : 1~n까지 모든 자연수의 곱(n!) n! = n(n-1)(n-2)...1 ex) 1! = 1 2! = 1 x 2 System.out.println("== 팩토리얼 =="); // 5! int n = 5.. 2024. 2. 27. 집합(Set)이란? 집합(Set) 특정 조건에 맞는 원소들의 모임으로, 표현 방법으로는 원소나열법, 조건제시법, 벤다이어그램이 있다. java에서 집합 사용시 HashSet을 이용한다. HashSet set1 = new HashSet(); set1.add(1); //값 추가 set1.add(1); set1.add(1); //중복은 하나만 들어감. set1.add(2); set1.add(3); set1.remove(1); //값 제거 set1.size(); // 크기 set1.contains(2); // 값 포함 여부 원소나열법 A = {1, 2, 3, 4, 5} 조건제시법 A = {A|A는 정수, 1 2024. 2. 26. 이전 1 2 3 다음