Files
grokking_algorithms/03_recursion/rust/01_countdown/src/main.rs
2020-03-21 16:43:51 -04:00

18 lines
303 B
Rust

use std::ops::Sub;
use std::fmt::Display;
use num_traits::identities::One;
use num_traits::identities::Zero;
fn countdown<T: Display + One + Zero + Sub<Output = T>>(i: T) {
println!("{}", i);
if i.is_zero() {
return
}
countdown(i - T::one());
}
fn main() {
countdown(5);
}