fn sum_digits(mut num: i64) -> i32 {
let mut sum = 0;
while num != 0 {
sum += (num % 10) as i32;
num /= 10;
}
sum
}
fn factorial(n: i64) -> i64 {
if n == 1 || n == 0 {
return 1;
}
n * factorial(n - 1)
}
fn main() {
let number = 9;
let result = factorial(number);
println!("factorial = {}", result);
println!("sum digits = {}", sum_digits(result));
}
/*
run:
factorial = 362880
sum digits = 27
*/