si etape > dimension * dimension alors nbr_solutions = nbr_solutions + 1 afficher(échiquier) else # pour chaque déplacement pour i dans indices(deplacement_x) faire # nouvelles coordonnées du cavalier var entier prochain_x = x + deplacements_x[ i ] var entier prochain_y = y + deplacements_y[ i ] # si on n'est pas en dehors de l'échiquier si position_valide(prochain_y, prochain_x) alors # si on n'a pas encore visité la case si echiquier[ prochain_y ][ prochain_x ] == 0 alors echiquier[ prochain_y ][ prochain_x ] = etape trouver_toutes_les_solutions(prochain_y, prochain_x, etape + 1) echiquier[ prochain_y ][ prochain_x ] = 0