ccc

Mostrando entradas con la etiqueta Matemáticas. Mostrar todas las entradas
Mostrando entradas con la etiqueta Matemáticas. Mostrar todas las entradas

JS: Hallar percentil de un número

const percentile = (arr, val) =>
  (100 * arr.reduce((acc, v) => acc + (v < val ? 1 : 0) + (v === val ? 0.5 : 0), 0)) / arr.length;
 
percentile([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 6); // 55

Hallar factorial

function factorial($n) {
    if ($n <= 1) {
        return 1;
    }
    return $n * factorial($n - 1);
}

factorial(5);

Matemáticas: Función Fibonacci

function fibonacci($n) {
    $sequence = [0, 1];
    for ($i = 2; $i < $n; $i++) {
        $sequence[$i] = $sequence[$i-1] + $sequence[$i-2];
    }
    return $sequence;
}

fibonacci(7);

JS: Calcular el promedio de una serie de números

<script>
const converge = (converger, fns) => (...args) => converger(...fns.map(fn => fn.apply(null, args)));

const average = converge((a, b) => a / b, [
  arr => arr.reduce((a, v) => a + v, 0),
  arr => arr.length
]);

varAux = average([1, 2, 3, 4, 5, 6, 7]); // 4 (28/7)
console.log(varAux);
varAux = average([3, 4, 5, 6, 7]); // 5 (25/5)
console.log(varAux);

varAux = average([1, 1, 1, 2, 3, 3]); // 1,833 (11/6)
console.log(varAux);
</script>

Función para saber si un número es primo

function isPrime($number) {
    $boundary = floor(sqrt($number));
    for ($i = 2; $i <= $boundary; $i++) {
        if ($number % $i === 0) {
            return false;
        }
    }
    return $number >= 2;
}

echo isPrime(2)."<br>";
echo isPrime(3)."<br>";
echo isPrime(4)."<br>";
echo isPrime(5)."<br>";
echo isPrime(6)."<br>";

Hallar la mediana de un arrray de números

function median($numbers) {
    sort($numbers);
    $totalNumbers = count($numbers);
    $mid = floor($totalNumbers / 2);

    return ($totalNumbers % 2) === 0 ? ($numbers[$mid - 1] + $numbers[$mid]) / 2 : $numbers[$mid];
}

echo median([1, 3, 3, 6, 7, 8, 9]); // 6
echo "<br>";
echo median([1, 3, 6, 7, 3, 8, 9]); // 6 (da igual el orden)
echo "<br>";
echo median([1, 2, 3, 6, 7, 9]); // 4.5

Calcular el mínimo común múltiplo entre dos números

function mcm($m,$n) {
if ($m == 0 || $n == 0) return 0;

    $r = ($m * $n) / gcd($m, $n);
    return abs($r);
}

function gcd($a, $b) {
    while ($b != 0) {
        $t = $b;
        $b = $a % $b;
        $a = $t;
    }
    return $a;
}

echo mcm(120,420);

Calcular el maximo comun divisor de una lista de números

function gcd(...$numbers) {
    if (count($numbers) > 2) {
        return array_reduce($numbers, 'gcd');
    }

    $r = $numbers[0] % $numbers[1];
    return $r === 0 ? abs($numbers[1]) : gcd($numbers[1], $r);
}

gcd(8, 36); // 4
gcd(12, 8, 32); // 4