Bonsoir a tous,
Petit nouveau sur ce forum je viens vous demander votre aide pour un mélange d'algo et de C++.
Comment ferriez vous pour résoudre le probleme suivant:
Trouver tous les nombres de 16 chiffres, qui ne commencent pas par 0, et dont aucun chiffre ne se répete plus de 3 fois.
Je n arrive pas a trouver de méthode "efficace".
Ma premiere idée, qui marche avec de "petits nombres" était de découper le nombre chiffre par chiffre puis de vérifier les conditions en utilisant un vecteur compteur. Ca marche trés bien jusqu'á 6 ou 7 nombres.
16 boucles imbriquées pour calculer chiffres par chiffre et vérifier les conditions, ca sera trop lent et donc pas efficace.
La solution est donc de ne trouver que les "bonnes valeurs" et ensuite de les compter.
On m'a conseille l'utilisation d'arbre n-aire mais n'ayant jamais utilisé d'arbre j'ai un peu du mal. D'aprés vous cette solution serait elle plus rapide?
Si vous avez des idées novatrices ou si vous pouvez m'aiguillez concernant la solution par arbre, vous etes les bienvenue
ps: la solution est bornéé par en dessus et en dessous par 999888777666 5554 et 1000112223334445.
Partager