How to count odd and even digits of a number in Rust

1 Answer

0 votes
fn count_odd_even_digits(n: u32) -> (u32, u32) {
    let mut odd_count = 0;
    let mut even_count = 0;
    let mut number = n;

    while number > 0 {
        let digit = number % 10;
        if digit % 2 == 0 {
            even_count += 1;
        } else {
            odd_count += 1;
        }
        number /= 10;
    }

    (odd_count, even_count)
}

fn main() {
    let number = 92734;
    
    let (odd_count, even_count) = count_odd_even_digits(number);
    
    println!("Odd digits: {}\nEven digits: {}", odd_count, even_count);
}



  
/*
run:
  
Odd digits: 3
Even digits: 2
 
*/

 



answered Jan 14, 2025 by avibootz

Related questions

1 answer 75 views
1 answer 85 views
1 answer 95 views
1 answer 241 views
1 answer 154 views
...