Sha256: 1dff37c181c4cbcf357fd163e8a0d885baa2cc480b762cbf62b49e8068398d04

Contents?: true

Size: 443 Bytes

Versions: 67

Compression:

Stored size: 443 Bytes

Contents

pub fn classify(num: u64) -> Option<Classification> {
    if num == 0 {
        return None;
    }
    let sum: u64 = (1..num).filter(|i| num%i == 0).sum();
    if sum == num {
        Some(Classification::Perfect)
    } else if sum < num {
        Some(Classification::Deficient)
    } else {
        Some(Classification::Abundant)
    }
}

#[derive(Debug, PartialEq, Eq)]
pub enum Classification {
    Abundant,
    Perfect,
    Deficient
}

Version data entries

67 entries across 67 versions & 1 rubygems

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