Przejdź do treści

Wszystkie dzielniki

Opis problemu

Rozwiązanie zupełnie naiwne

Implementacja

fun printDivisors(n: Int) {
  for (i in 1 until n + 1) {
    if (n % i == 0) {
      println(i)
    }
  }
}

fun main() {
  val n = 12

  println("Dzielniki liczby $n:")
  printDivisors(n)
}

Wszystkie dzielniki - podejście zupełnie naiwne

Opis implementacji

TODO

Rozwiązanie naiwne

Implementacja

fun printDivisors(n: Int) {
  for (i in 1 until (n / 2) + 1) {
    if (n % i == 0) {
      println(i)
    }
  }

  if (n > 1) {
    println(n)
  }
}

fun main() {
  val n = 12

  println("Dzielniki liczby $n:")
  printDivisors(n)
}

Wszystkie dzielniki - podejście naiwne

Opis implementacji

TODO

Rozwiązanie optymalne

Implementacja

import kotlin.math.sqrt

fun printDivisors(n: Int) {
  for (i in 1 until sqrt(n.toDouble()).toInt() + 1) {
    if (n % i == 0) {
      println(i)

      if (i != n / i) {
        println(n / i)
      }
    }
  }
}

fun main() {
  val n = 12

  println("Dzielniki liczby $n:")
  printDivisors(n)
}

Wszystkie dzielniki - podejście optymalne

Opis implementacji

TODO