점화식 (Recurrence)
어떤 수열의 일반항을 그 이전의 항들을 이용하여 정의한 식
- 예시 ) 피보나치 수열
재귀 함수 (Recursion method)
어떤 함수가 자신을 다시 호출하여 작업을 수행하는 방식
// 기초 수학 - 점화식과 재귀함수
public class mathPractice07 {
static int recursion1(int n){
if (n == 1){
return 1;
}
return 3 * recursion1(n - 1);
}
static int recursion2(int n){
if (n == 1){
return 1;
}
return n + recursion2(n - 1);
}
static int recursion3(int n){
if (n < 3){
return 1;
}
return recursion3(n - 2) + recursion3(n - 1);
}
public static void main(String[] args) {
//Test Code
//점화식 -> 반복문, 재귀함수
System.out.println("=== 점화식 / 재귀함수 연습1 ===");
//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);
System.out.println("=== 점화식 / 재귀함수 연습2 ===");
//1, 2, 3, 4, 5, 6 ... 의 n번째 까지의 합
n = 5;
result = 0;
for (int i = 0; i < n + 1; i++) {
result += i;
}
System.out.println(result);
System.out.println("=== 점화식 / 재귀함수 연습3 ===");
//1, 1, 2, 3, 5, 8, 13 ... 의 n번째 수. 피보나치 수열
n = 6;
result = 0;
int a1 = 1;
int a2 = 1;
if (n < 3){
result = 1;
}else {
for (int i = 2; i < n; i++) {
result = a1 + a2;
a1 = a2;
a2 = result;
}
}
System.out.println(result);
}
}
'Study for Backend > Mathmatics Basic' 카테고리의 다른 글
[기초 수학] 지수와 로그 (0) | 2024.03.13 |
---|---|
[기초 수학] 조합 (0) | 2024.03.11 |
[기초 수학] 약수 , 최대 공약수, 최소 공배수 (0) | 2024.03.11 |
[기초 수학] 경우의 수, 합의 법칙, 곱의 법칙 (0) | 2024.03.11 |
[기초 수학] 집합 (0) | 2024.03.11 |