Sha256: 53b2fb0947512afa3e5c61c141f26622cbc725f00795ef3a5148224018cb933e

Contents?: true

Size: 740 Bytes

Versions: 266

Compression:

Stored size: 740 Bytes

Contents

enum NumberClassification {
    case perfect
    case abundant
    case deficient
}

struct NumberClassifier {
    let number: Int
    var sum: Int {
        return aliquotSum(number)
    }
    var classification: NumberClassification {
        switch sum {
        case let sum where sum == number :
            return NumberClassification.perfect
        case let sum where sum < number :
            return NumberClassification.deficient
        default:
            return NumberClassification.abundant
        }
    }
    func aliquotSum (_ input: Int) -> Int {
        let array = Array(1..<(input-1))

        return array.filter({ input % $0 == 0 }).reduce(0, +)
    }

    init(number: Int) {
        self.number = number
    }

}

Version data entries

266 entries across 266 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift
trackler-2.2.1.179 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift
trackler-2.2.1.178 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift
trackler-2.2.1.177 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift
trackler-2.2.1.176 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift
trackler-2.2.1.175 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift
trackler-2.2.1.174 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift
trackler-2.2.1.173 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift
trackler-2.2.1.172 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift
trackler-2.2.1.171 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift
trackler-2.2.1.170 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift
trackler-2.2.1.169 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift
trackler-2.2.1.167 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift
trackler-2.2.1.166 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift
trackler-2.2.1.165 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift
trackler-2.2.1.164 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift
trackler-2.2.1.163 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift
trackler-2.2.1.162 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift
trackler-2.2.1.161 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift
trackler-2.2.1.160 tracks/swift/exercises/perfect-numbers/Sources/PerfectNumbersExample.swift