fn increment_by_one(digits: &mut Vec<u8>) {
let mut carry = 1;
for i in (0..digits.len()).rev() {
digits[i] += carry;
if digits[i] == 10 {
digits[i] = 0;
carry = 1;
} else {
carry = 0;
break;
}
}
if carry == 1 {
digits.insert(0, 1);
}
}
fn main() {
let mut digits = vec![9, 9, 9];
increment_by_one(&mut digits);
print!("Result: ");
for digit in digits {
print!("{} ", digit);
}
}
/*
run:
Result: 1 0 0 0
*/