add is_even and is_odd recursive functions #1

Merged
sfrembling merged 1 commits from sfrem/recursive-test into main 2026-03-03 09:00:31 -06:00
Showing only changes of commit 783e4ba038 - Show all commits

View File

@@ -1,3 +1,40 @@
fn main() { fn main() {
println!("Hello, world!"); let src = 12;
let result = is_even(src);
println!("{src} is even? {result}");
}
fn is_even(n: u32) -> bool {
match n {
0 => true,
1 => false,
_ => is_odd(n - 1),
}
}
fn is_odd(n: u32) -> bool {
match n {
0 => false,
1 => true,
_ => is_even(n - 1),
}
}
#[cfg(test)]
mod tests {
use crate::{is_even, is_odd};
#[test]
fn it_works() {
let src = 12;
let result = is_even(src);
assert!(result);
}
#[test]
fn it_works_again() {
let src = 5;
let result = is_odd(src);
assert!(result);
}
} }