Rust 最大公约数

计算两个非负整数 p 和 q 的最大公约数:若 q 是 0,则最大公约数为 p。否则,将 p 除以 q 得到余数 r,p 和 q 的最大公约数即为 q 和 r 的最大公约数。

pub fn gcd(p: u32, q: u32) -> u32 {
    if q == 0 {
        return p;
    }
    let r = p % q;
    return gcd(q, r);
}

fn gcd(p: u32, q: u32) -> u32 {
    match q {
        0 => p,
        _ => {
            let r = p % q;
            gcd(q, r)
        }
    }
}

posted @ 2023-03-02 10:47  gcvition  阅读(63)  评论(0)    收藏  举报