sqrt în Kotlin

sqrt calculează rădăcina pătrată, pow ridică la putere (2.0.pow(3) = 8.0), hypot dă ipotenuza.

Sintaxă
import kotlin.math.sqrt
fun sqrt(x: Double): Double
fun Double.pow(n: Int): Double
fun Double.pow(x: Double): Double
fun hypot(x: Double, y: Double): Double

Ce face sqrt

sqrt(x) returnează rădăcina pătrată a lui x, ca Double. Primește Double sau Float, deci un întreg trebuie convertit: sqrt(16.0) sau sqrt(n.toDouble()). Rădăcina unui număr negativ este NaN (nu este număr).

pow este o funcție de extensie: scrii baza.pow(exponent), de exemplu 2.0.pow(10). Exponentul poate fi Int sau Double (8.0.pow(1.0 / 3) este rădăcina cubică). Kotlin nu are operatorul ** sau ^ pentru putere.

hypot(x, y) calculează sqrt(x² + y²), adică ipotenuza unui triunghi dreptunghic sau distanța dintre două puncte, fără erori de depășire pentru numere foarte mari.

Parametri

Parametru Descriere
x Numărul din care se extrage rădăcina (pentru sqrt).
n / x Exponentul (pentru pow).

Ce returnează

Un Double.

Exemple

Exemplul 1: Rădăcini și puteri

Întregul 2 este convertit în Double pentru sqrt. Rădăcina lui -1 dă NaN.

import kotlin.math.pow
import kotlin.math.sqrt

fun main() {
    println(sqrt(16.0))
    println(sqrt(2.toDouble()))
    println(2.0.pow(10))
    println(27.0.pow(1.0 / 3))
    println(sqrt(-1.0))
}

Rezultat

4.0
1.4142135623730951
1024.0
3.0
NaN

Exemplul 2: Distanța dintre două puncte

hypot dă același rezultat ca formula cu sqrt și pow.

import kotlin.math.hypot
import kotlin.math.pow
import kotlin.math.sqrt

fun main() {
    val (x1, y1) = 1.0 to 2.0
    val (x2, y2) = 4.0 to 6.0
    println(sqrt((x2 - x1).pow(2) + (y2 - y1).pow(2)))
    println(hypot(x2 - x1, y2 - y1))
}

Rezultat

5.0
5.0

Exemplul 3: Dobândă compusă

Suma după n ani este suma × (1 + dobânda)^n.

import kotlin.math.pow

fun main() {
    val depunere = 10000.0
    val dobanda = 0.05
    for (ani in listOf(1, 5, 10)) {
        val total = depunere * (1 + dobanda).pow(ani)
        println("După $ani ani: ${"%.2f".format(java.util.Locale.ROOT, total)} lei")
    }
}

Rezultat

După 1 ani: 10500.00 lei
După 5 ani: 12762.82 lei
După 10 ani: 16288.95 lei

Greșeli frecvente

  • Scrii sqrt(16) cu un Int și codul nu compilează. Folosește sqrt(16.0) sau toDouble().
  • Scrii 2 ^ 10 pentru putere. În Kotlin nu există ^; folosește 2.0.pow(10) (iar pentru întregi, shl sau o buclă).

Comenzi înrudite

  • abs: abs returnează valoarea absolută a unui număr (fără semn); sign spune dacă numărul e negativ, zero sau pozitiv.
  • round: Rotunjesc un număr zecimal: round la cel mai apropiat întreg, floor în jos, ceil în sus, truncate taie zecimalele.
  • ln: Logaritmi: ln (natural, baza e), log10 (baza 10), log2 (baza 2); exp calculează e la puterea x.
  • PI: Constantele matematice π (PI, raportul dintre circumferință și diametru) și e (E, baza logaritmului natural).