How to calculate the next multiple of 10 in Rust

1 Answer

0 votes
/*
    next_multiple_of_10:
    --------------------
    Returns the next multiple of 10 greater than or equal to n.

    Algorithm:
    - Add 9 to n: this ensures that any number not already a multiple of 10
      will "spill over" into the next multiple when integer-divided by 10.
    - Divide by 10: integer division truncates toward zero.
    - Multiply by 10: reconstruct the multiple of 10.

    Example:
        n = 23 → (23 + 9) = 32 → 32 / 10 = 3 → 3 * 10 = 30
        n = 40 → (40 + 9) = 49 → 49 / 10 = 4 → 4 * 10 = 40
*/
fn next_multiple_of_10(n: i32) -> i32 {
    ((n + 9) / 10) * 10
}

/*
    main:
    -----
    Demonstrates the function with a sample input.
*/
fn main() {
    let nums = [23, 10, 0, 1841];
    let length = nums.len();

    for i in 0..length {
        println!("{}", next_multiple_of_10(nums[i]));
    }
}


/*
run:

30
10
0
1850

*/

 



answered Nov 22, 2024 by avibootz
edited 2 days ago by avibootz
...