Skip to content

Aurélien STRIDE

  • Projets personnels
    • Projets Web personnels
    • Language-of.love
    • Squary Movey / Taiketsu-Doku
    • Sudokube / Wordokube / Linkube
    • Recyclage Augmenté
    • Réflexions en 3D
    • Fièvre de cheval du samedi soir
    • Concours divers
  • Dessins
    • 1998 – Arts Appliqués
    • Actualités
    • Compteurs d’eau
    • Divorce
    • Enquêtes
    • GPS
    • Immobilier
    • Informatique
    • Psycho
    • SNCF
    • Vie de couple
    • Dessins divers
  • Musiques
    • 2016 – Oxydoréduction
    • 2012-Maint. – Mashups
    • 2008-2016 – Indaba Remixes
    • 2013 – Live @ Mistral Palace
    • 2012 – Symphonie Electronique
    • 2010 – Metric : Fantasies
    • 2008 – Marcy Playground : Leaving Wonderland
    • 2008-2010 – Ganadji-Nesis
    • 2008-2009 – Mandalas
    • 2007-2009 – Electrons Libres
    • 2006-2007 – Manifest for a generation
    • 2003 – De Inferni Profundis
    • 1997 – MODified
    • Par genre
      • Ambient
      • Jazz
      • Hip-Hop
      • Nightclub
    • Morceaux non classés
    • Vidéos musicales
    • Playlist Soirée Château de Fitou
  • Travaux graphiques
    • Affiches / Flyers
    • Cartes de visite
    • Jaquettes CD-DVD
    • Logos & Bannières
    • Photomontages
    • Sketchups
    • Weavesilk
  • Tutoriels
    • Les outils du dépanneur informatique
    • Liste de mes programmes favoris
    • L’installation idéale d’un OS
    • Installer un serveur web sous Unix
  • Liens favoris
  • Road Trip

Aurélien STRIDE

Life & Works

Générer une grille de Sudoku en PHP

22 octobre 2019 by webmaster

Voici un algo maison optimisé pour générer une grille de Sudoku dans un tableau-mémoire (et après en faire ce que l’on veut) :

<?php
function GenGrille()
{
    $bOk=true;
    $t=array();
    for($i=0;$i<9;$i++)
    {
        $t[$i]=array();
        
        for($j=0;$j<9;$j++)
        {
            $t[$i][$j]=array();
            for($k=0;$k<9;$k++)
            {
                $t[$i][$j]['K'.$k]=$k;
            }
        }
    }

    //Apoptose
    for($i=0;$i<9;$i++)
    {
        for($j=0;$j<9;$j++)
        {
            if(!count($t[$i][$j]))return GenGrille();
            $r=rand(0,count($t[$i][$j])-1);
            $t2=array_keys($t[$i][$j]);
            $t[$i][$j]=$t[$i][$j][$t2[$r]];

            //suppression même ligne
            //suppression même colonne
            //Suppression dans le même carré
            for($z=0;$z<9;$z++)
            {
                unset($t[$z][$j][$t2[$r]]);
                unset($t[$i][$z][$t2[$r]]);
                
                for($zz=0;$zz<9;$zz++){
                    if(floor($z/3)==floor($i/3)&&floor($zz/3)==floor($j/3))unset($t[$z][$zz][$t2[$r]]);

                }
            }
        }
    }
    return $t;
}
?>

Merci à http://tohtml.com/php/ pour la mise en forme.

Post navigation

Previous Post:

Vue chronologique

Next Post:

Lettre de regret [MAJ]

[Mashup] Canned Heat meets Mar-Keys - Let's work last night
[Remix] Skype Ringtone
  • Blog
  • Dessins
    • 1998 - Arts Appliqués
    • Actualités
    • Compteurs d'eau
    • Dessins divers
    • Divorce
    • Enquêtes
    • GPS
    • Immobilier
    • Informatique
    • Psycho
    • SNCF
    • Vie de couple
  • Ecrits
    • Chanson : Albinoni mélancolique
    • Chanson : Igor le fantôme
    • Chanson : J'ai besoin de vacances...
    • Chanson : Leave me alone
    • Livre : Discours pour la Présidence
    • Livre : L'affaire des brosses à dents
    • Livre : Le lycanthrope contemporain
    • Livre : Mon perfectionnisme
    • Livre : My Ultimate Fonts Collection
    • Poème : Amour
    • Poème : Au revoir
    • Poème : Dévouement
    • Poème : Everlasting
    • Poème : Infidèle
    • Poème : La route est longue
    • Poème : Messages
    • Poème : Ô Nuit
    • Poème : Regard
    • Poème : Romance
    • Poème : Sadness
    • Poème : Un inadapté
    • Poème : Vouloir mourir
    • Poème : Voyage Initiatique
  • Emploi
    • 1999 - Menuisier chez Manpower
  • Liens favoris
  • Musiques
    • 1997 - MODified
    • 2003 - De Inferni Profundis
    • 2006-2007 - Manifest for a generation
    • 2007-2009 - Electrons Libres
    • 2008 - Marcy Playground : Leaving Wonderland
    • 2008-2009 - Mandalas
    • 2008-2010 - Ganadji-Nesis
    • 2008-2016 - Indaba Remixes
    • 2010 - Metric : Fantasies
    • 2011-2013 - Liaisons Covalentes
    • 2012 - Symphonie Electronique
    • 2012-2023 - Mashups
    • 2013-2015 - Lives @ Mistral Palace
    • 2016 - Music Maker Jam (Android)
    • 2016 - Oxydoréduction
    • Morceaux non classés
    • Par genre
      • Ambient
      • Disco
      • Hip-Hop
      • Jazz
      • Nightclub
      • Playlist Soirée Château de Fitou
    • Vidéos musicales
  • Projets personnels
    • Concours divers
    • Fièvre de cheval du samedi soir
    • Language-of.love
    • Projets Web personnels
    • Recyclage Augmenté
    • Réflexions en 3D
    • Squary Movey / Taiketsu-Doku
    • Sudokube / Wordokube / Linkube
  • Qui suis-je ?
  • Travaux graphiques
    • Affiches / Flyers
    • Cartes de visite
    • Jaquettes CD-DVD
    • Logos & Bannières
    • Photomontages
    • Sketchups
    • Weavesilk
  • Tutoriels
    • Installer un serveur web sous Unix
    • L'installation idéale d'un OS
    • Les outils du dépanneur informatique
    • Liste de mes programmes favoris
© 2025 Aurélien STRIDE - Powered by Minimalisticky