Sha256: 9533f89b2e9aafae3e08670ffe02ffe994453f39bd84f0bd51c83d0aa28727e6

Contents?: true

Size: 543 Bytes

Versions: 395

Compression:

Stored size: 543 Bytes

Contents

pub struct PascalsTriangle {
    row_count: u32,
}

impl PascalsTriangle {
    pub fn new(row_count: u32) -> Self {
        PascalsTriangle { row_count: row_count }
    }

    pub fn rows(&self) -> Vec<Vec<u32>> {
        (0..self.row_count).map(|row| PascalsTriangle::row(row)).collect()
    }

    pub fn row(number: u32) -> Vec<u32> {
        let mut r = vec![1];

        for p in 1..(number + 1) {
            if let Some(&last) = r.last() {
                r.push((last * (number + 1 - p)) / p)
            }
        }
        r
    }
}

Version data entries

395 entries across 395 versions & 1 rubygems

Version Path
trackler-2.2.1.179 tracks/rust/exercises/pascals-triangle/example.rs
trackler-2.2.1.178 tracks/rust/exercises/pascals-triangle/example.rs
trackler-2.2.1.177 tracks/rust/exercises/pascals-triangle/example.rs
trackler-2.2.1.176 tracks/rust/exercises/pascals-triangle/example.rs
trackler-2.2.1.175 tracks/rust/exercises/pascals-triangle/example.rs
trackler-2.2.1.174 tracks/rust/exercises/pascals-triangle/example.rs
trackler-2.2.1.173 tracks/rust/exercises/pascals-triangle/example.rs
trackler-2.2.1.172 tracks/rust/exercises/pascals-triangle/example.rs
trackler-2.2.1.171 tracks/rust/exercises/pascals-triangle/example.rs
trackler-2.2.1.170 tracks/rust/exercises/pascals-triangle/example.rs
trackler-2.2.1.169 tracks/rust/exercises/pascals-triangle/example.rs
trackler-2.2.1.167 tracks/rust/exercises/pascals-triangle/example.rs
trackler-2.2.1.166 tracks/rust/exercises/pascals-triangle/example.rs
trackler-2.2.1.165 tracks/rust/exercises/pascals-triangle/example.rs
trackler-2.2.1.164 tracks/rust/exercises/pascals-triangle/example.rs
trackler-2.2.1.163 tracks/rust/exercises/pascals-triangle/example.rs
trackler-2.2.1.162 tracks/rust/exercises/pascals-triangle/example.rs
trackler-2.2.1.161 tracks/rust/exercises/pascals-triangle/example.rs
trackler-2.2.1.160 tracks/rust/exercises/pascals-triangle/example.rs
trackler-2.2.1.159 tracks/rust/exercises/pascals-triangle/example.rs