Sha256: afdd47e6856bb4a932284df02b38c685202959ab03968d24a94667f36cdce9e2
Contents?: true
Size: 509 Bytes
Versions: 126
Compression:
Stored size: 509 Bytes
Contents
enum class Classification { DEFICIENT, PERFECT, ABUNDANT } fun classify(naturalNumber: Int): Classification { require(naturalNumber > 0, { "$naturalNumber is not a natural number" }) val aliquotSum = naturalNumber.aliquotSum() return when { aliquotSum == naturalNumber -> Classification.PERFECT aliquotSum > naturalNumber -> Classification.ABUNDANT else -> Classification.DEFICIENT } } fun Int.aliquotSum(): Int = (1 until this).filter { this % it == 0 }.sum()
Version data entries
126 entries across 126 versions & 1 rubygems