// factorial.ru fn main() { println!("factorial.ru running"); let mut result = 0; println!("initial result= {}",result); result = factorial(0); println!("factorial(0)= {}",result); result = factorial(1); println!("factorial(2)= {}",result); result = factorial(2); println!("factorial(2)= {}",result); result = factorial(3); println!("factorial(3)= {}",result); result = factorial(10); println!("factorial(10)= {}",result); result = factorial(20); println!("factorial(20)= {}",result); // result = factorial(21); // println!("factorial(21)= {}",result); println!("overflow on factorial(21) error"); println!("factorial.ru finished"); } fn factorial(i: u64) -> u64 { match i { 0 => 1, n => n * factorial(n-1) } }