组合数 rust解法

组合数。
编写函数,参数是两个非负整数n和m,返回组合数 C n m C_n^m Cnm,其中m≤n≤25。
例如,n=25,m=12时答案为5200300。

解法:

fn  c(n: u32, m: u32)->u64 {
    let m = if m > n-m {n-m}else{m};
    let mut ans: u64 = 1;
    for i in n-m+1..=n {
        ans *= i as u64;
    }
    for i in 1..=m{
        ans /= i as u64;
    }
    ans
}
fn main() {
    let d = c(21, 1);
    println!("{}", d);
}

你可能感兴趣的:(rust,rust,算法,开发语言)