Compte est bon

Description

Le programme est écrit en C# - Winform avec VS 2005. Il permet de trouver n'importe quel chiffre dans la limite d'un Int32 avec un ensemble de 2 à 10 plaquettes.
Il intègre en outre en option une table de Hashage afin d'éviter les redondances dans les calculs et d'accélérer par moment de façon drastique la résolution.
Avec un nombre de plaquettes de 2 à 10 contenants des nombres, il fait trouver un chiffre.
Le programme applique la récursivité en appliquant toutes les opérations possibles entre deux plaquettes et se ramenant au même problème avec les n-2 plaquettes restantes et la nouvelle créée par l?opération.
La boite de dialogue contient une génération dynamique de TextBox pour les plaquettes et le Thread qui opère le calcul est différent de celui qui a créé la Form principale. Ceci pour garder un contrôle sur la Form notamment pour le bouton Stop. On voit aussi comment un Thread différent peut agir sur la Winform via passage à un delegué et appel à la fonction Invoke. Un Timer met toute les secondes à jour dans la Form les informations de combinatoire.
Une classe Etat spécifique est créée afin d'encapsuler les jeux de plaquettes et de les stocker efficacement dans un dictionnaire de données.
Le programme donne le résultat le plus proche en cas d?impossibilité de calcul..

Source / Exemple :


cf zip

Conclusion :


Le programme est très puissant et avec 2Go de mémoire, la table de hashage peut contenir plus 20 millions d?entrées.
Un compte à 7 plaquettes est trouvé en moins d?une seconde.
En activant la table on évite les redondances dans les solutions.
Il est loin le temps de mon ZX Spectrum 16K + extension 64K et mon turbo pascal chargé en 2mn 30 avec un lecteur de cassettes en boustant à fond les graves et aigus.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.