<?php
function mostrarSierpinski($files) {
    // Crea un array per guardar els valors del triangle de Pascal mod 2
    $triangle = array();

    // Construir el triangle
    for ($i = 0; $i < $files; $i++) {
        $triangle[$i] = array();
        $triangle[$i][0] = 1; // El primer element de cada fila és sempre 1
        for ($j = 1; $j < $i; $j++) {
            // Calcular cada valor com la suma dels dos valores superiors mod 2
            $triangle[$i][$j] = ($triangle[$i-1][$j-1] + $triangle[$i-1][$j]) % 2;
        }
        $triangle[$i][$i] = 1; // L'últim element de cada fila és sempre 1
    }

    // Mostrar el triangle
    echo "<div style='text-align:center;'>";
    echo "<style> body { margin: 0; padding: 0; } .pixel { width: 2px; height: 2px; display: inline-block; }</style>";
    for ($i = 0; $i < $files; $i++) {
        for ($j = 0; $j <= $i; $j++) {
            $color = ($triangle[$i][$j] == 0) ? '#f1de8a' : '#599ab3';
            echo "<div class='pixel' style='background-color: " . $color . ";'></div>";
        }
        echo "<br/>";
    }
    echo "</div>";
}

// Exemple d'ús: mostra el triangle amb 512 files
$files = isset($_GET['files']) ? intval($_GET['files']) : 512;  // Files per defecte 512
mostrarSierpinski($files);
?>
