250x250
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 리눅스
- 객체지향프로그래밍
- 주유소
- 연습문제
- node.js
- Bloc
- 오토바이
- VM
- 개발
- VMware
- 잡담
- podman
- Linux
- C언어
- Flutter
- 인프라
- K&R
- 에러
- 휘발류
- ubuntu
- 오블완
- virtualmachine
- 가상머신
- 티스토리챌린지
- DART
- 일상
- 템플릿
- 개발기
- 퇴근길
- FreeBSD
Archives
- Today
- Total
그냥저냥
Functional Programming in Scala 연습문제 2.1 본문
728x90
반응형
연습문제 2.1
n번째 피보나치 수(Fibonacci number: https://en.wikipedia.org/wiki/Fibonacci_sequence)를 돌려주는 재귀 함수를 작성하라. 처음 두 피보나치 수는 0과 1이다. n번째 피보나치 수는 항상 이전 두 수의 합이다. 즉, 피보나치수열은 0, 1, 1, 2, 3, 5로 시작한다. 반드시 지역 꼬리 재귀 함수를 사용해서 작성할 것.
def fib(n: Int): Int
object Fib {
def fib(n: Int): Int = {
def redo(n: Int, current: Int, next: Int): Int =
if (n <= 0) current
else redo((n - 1), next, (current + next))
redo(n, 0, 1)
}
def main(args: Array[String]): Unit = {
println("Fib(0) -> " + fib(0));
println("Fib(1) -> " + fib(1));
println("Fib(2) -> " + fib(2));
println("Fib(3) -> " + fib(3));
println("Fib(4) -> " + fib(4));
println("Fib(5) -> " + fib(5));
}
}
728x90
반응형
'개발기' 카테고리의 다른 글
| 뻘짓거리 | 리눅스에서 가상 메모리가 고갈되면 어떤 일이 벌어질까? (C언어 테스트) (0) | 2026.03.06 |
|---|---|
| 회고 | 나의 임베디드 개발 경험 (0) | 2026.03.06 |
| [Scala] Java 24 환경에서 Scala 실행 시 sun.misc.Unsafe 경고 발생 해결 방법 (Scala 3.8 로드맵) (0) | 2025.09.13 |
| [Javascript] Truthy/Falsy 값 (0) | 2025.02.28 |
| SICP 노트 | 표현식 (2) (0) | 2025.02.26 |