1
0
mirror of https://github.com/rust-lang/rustlings.git synced 2025-06-23 00:28:46 +02:00
Files
.devcontainer
.github
.vscode
exercises
clippy
conversions
enums
error_handling
functions
generics
hashmaps
if
intro
iterators
README.md
iterators1.rs
iterators2.rs
iterators3.rs
iterators4.rs
iterators5.rs
lifetimes
macros
modules
move_semantics
options
primitive_types
smart_pointers
strings
structs
tests
threads
traits
variables
vecs
README.md
quiz1.rs
quiz2.rs
quiz3.rs
src
tests
.all-contributorsrc
.editorconfig
.gitignore
.gitpod.yml
.markdownlint.yml
AUTHORS.md
CHANGELOG.md
CONTRIBUTING.md
Cargo.lock
Cargo.toml
LICENSE
README.md
flake.lock
flake.nix
info.toml
install.ps1
install.sh
shell.nix
rustlings/exercises/iterators/iterators4.rs

41 lines
843 B
Rust
Raw Normal View History

2018-02-21 22:09:53 -08:00
// iterators4.rs
2022-07-14 18:29:09 +02:00
// Execute `rustlings hint iterators4` or use the `hint` watch subcommand for a hint.
2018-02-21 22:09:53 -08:00
// I AM NOT DONE
pub fn factorial(num: u64) -> u64 {
// Complete this function to return the factorial of num
// Do not use:
// - return
// Try not to use:
// - imperative style loops (for, while)
// - additional variables
// For an extra challenge, don't use:
// - recursion
// Execute `rustlings hint iterators4` for hints.
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn factorial_of_0() {
assert_eq!(1, factorial(0));
}
#[test]
fn factorial_of_1() {
assert_eq!(1, factorial(1));
}
#[test]
fn factorial_of_2() {
assert_eq!(2, factorial(2));
}
#[test]
fn factorial_of_4() {
assert_eq!(24, factorial(4));
}
}