How to find the frequency of each digit (0–9) in a number with Rust

1 Answer

0 votes
fn count_digits<N: ToString>(n: N) -> [usize; 10] {
    let mut freq = [0usize; 10];

    for ch in n.to_string().chars() {
        let digit = ch.to_digit(10).unwrap() as usize;
        freq[digit] += 1;
    }

    freq
}

fn main() {
    let number = 120220340501u64;

    let freq = count_digits(number);

    for (digit, count) in freq.iter().enumerate() {
        println!("{digit}: {count}");
    }
}


/*
run:

0: 4
1: 2
2: 3
3: 1
4: 1
5: 1
6: 0
7: 0
8: 0
9: 0

*/

 



answered 3 days ago by avibootz

Related questions

...