How to find the digit previous to a given digit in a number with Rust

1 Answer

0 votes
/// Finds the digit that comes before the target digit when scanning from right to left.
/// Returns -1 if the target is not found or has no previous digit.
fn find_previous_digit(mut number: i32, target: i32) -> i32 {
    while number > 0 {
        let current = number % 10;
        number /= 10;

        if current == target {
            return if number > 0 { number % 10 } else { -1 };
        }
    }

    -1
}

fn main() {
    let number = 8902741;
    let target = 7;

    let result = find_previous_digit(number, target);

    if result != -1 {
        println!("The digit before {} in {} is {}.", target, number, result);
    } else {
        println!(
            "The digit {} is not found or has no previous digit in {}.",
            target, number
        );
    }
}



/*
run:

The digit before 7 in 8902741 is 2.

*/

 



answered Oct 22 by avibootz
...