프로그래밍/Rust
100 Exercises To Learn Rust - 2.5 Factorial 풀기
아이소톱
2025. 2. 27. 14:27
정답:
// `factorial`이라는 이름의 함수를 정의합니다. 음수가 아닌 정수 `n`을 받고,
// `n`의 팩토리얼인 `n!`을 반환합니다.
// `n!`은 n까지의 모든 정수의 곱으로 정의됩니다.
// 예를 들어, `5!`은 `5 * 4 * 3 * 2 * 1`로, `120`입니다.
// `0!`은 `1`로 정의됩니다.
// `factorial(0)`과 `factorial(1)`은 `1`을, `factorial(2)`는 `2`를 반환하고,
// .. 이런 식으로 계속되기를 기대합니다.
//지금까지 배운 것만을 사용하세요! 아직 반복(loop)는 배우지 않았으므로,
//재귀(recursion)을 사용해야 할 겁니다!
fn factorial(n: i32) -> i32 {
if n == 0 || n == 1 {
1
} else {
n * factorial(n-1)
}
}