add is_even and is_odd recursive functions (#1)

Reviewed-on: http://192.168.1.227:3000/sfrembling/timeshift/pulls/1
Co-authored-by: Shea Frembling <sfrembling@gmail.com>
Co-committed-by: Shea Frembling <sfrembling@gmail.com>
This commit was merged in pull request #1.
This commit is contained in:
2026-03-03 09:00:31 -06:00
committed by sfrembling
parent 92f990dc74
commit c8ae4edc5c

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);
}
} }