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 unIntși codul nu compilează. Foloseștesqrt(16.0)sautoDouble(). - Scrii
2 ^ 10pentru putere. În Kotlin nu există^; folosește2.0.pow(10)(iar pentru întregi,shlsau 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).