How to sum the digit of a factorial of a number in Rust

1 Answer

0 votes
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
    
*/

 



answered Feb 13, 2025 by avibootz

Related questions

2 answers 161 views
1 answer 105 views
105 views asked Dec 20, 2022 by avibootz
1 answer 90 views
1 answer 96 views
1 answer 99 views
1 answer 92 views
1 answer 92 views
...