Sha256: 59807a50c2c7205a437c408efb9072e9177d0d09db8f284672b9ba0d1083cb24

Contents?: true

Size: 527 Bytes

Versions: 188

Compression:

Stored size: 527 Bytes

Contents

object PrimeFactorCalculator {

    fun primeFactors(int: Int): List<Int> {
        return primeFactors(int.toLong()).map(Long::toInt)
    }

    fun primeFactors(long: Long): List<Long> {
        val result = mutableListOf<Long>()
        var remainder = long
        var divisor: Long = 2

        while (remainder > 1) {
            while (remainder.rem(divisor) == 0L) {
                result.add(divisor)
                remainder /= divisor
            }

            divisor++
        }

        return result
    }

}

Version data entries

188 entries across 188 versions & 1 rubygems

Version Path
trackler-2.2.1.98 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt
trackler-2.2.1.97 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt
trackler-2.2.1.96 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt
trackler-2.2.1.95 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt
trackler-2.2.1.94 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt
trackler-2.2.1.93 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt
trackler-2.2.1.92 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt
trackler-2.2.1.91 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt
trackler-2.2.1.90 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt
trackler-2.2.1.89 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt
trackler-2.2.1.88 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt
trackler-2.2.1.87 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt
trackler-2.2.1.86 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt
trackler-2.2.1.85 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt
trackler-2.2.1.84 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt
trackler-2.2.1.83 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt
trackler-2.2.1.82 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt
trackler-2.2.1.81 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt
trackler-2.2.1.80 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt
trackler-2.2.1.79 tracks/kotlin/exercises/prime-factors/.meta/src/reference/kotlin/PrimeFactorCalculator.kt