MST

星途 面试题库

面试题:Rust中while表达式的复杂逻辑处理

给定一个Rust数组 `vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10]`,使用while表达式遍历该数组,找出所有能被3整除的数字,并将它们累加到一个变量中,最后返回累加的结果。同时,要处理数组为空的情况,返回0。
28.4万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
fn main() {
    let numbers = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
    let result = sum_divisible_by_3(&numbers);
    println!("累加结果: {}", result);
}

fn sum_divisible_by_3(numbers: &[i32]) -> i32 {
    let mut sum = 0;
    let mut index = 0;
    if numbers.is_empty() {
        return 0;
    }
    while index < numbers.len() {
        if numbers[index] % 3 == 0 {
            sum += numbers[index];
        }
        index += 1;
    }
    return sum;
}