Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
numbers:maths [2012/11/01 11:26] 127.0.0.1 editor externo |
numbers:maths [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 280: | Línea 280: | ||
| ==== Trucos matemáticos ==== | ==== Trucos matemáticos ==== | ||
| * Si queremos saber ''X%'' de ''Y'' haremos: ''Y * (X / 100)''. | * Si queremos saber ''X%'' de ''Y'' haremos: ''Y * (X / 100)''. | ||
| + | |||
| + | === Calculo de raíz cuadrada por método Newton === | ||
| + | Código en Scala: | ||
| + | <code scala> | ||
| + | def abs(x: Double) = if (x > 0) x else -x | ||
| + | |||
| + | def sqrtIter(guess: Double, x: Double): Double = | ||
| + | if (isGoodEnough(guess, x)) guess | ||
| + | else sqrtIter(improve(guess, x), x) | ||
| + | |||
| + | def isGoodEnough(guess: Double, x: Double) = | ||
| + | abs(guess * guess - x) < 0.0001 | ||
| + | |||
| + | def improve(guess: Double, x: Double): Double = | ||
| + | (guess + x / guess) / 2 | ||
| + | |||
| + | def sqrt(x: Double) = sqrtIter(1.0, x) | ||
| + | |||
| + | sqrt(4) | ||
| + | </code> | ||