Bonsoir,
Pardon de faire remonter un fil vieux de plus d'un an mais je cherchais la solution depuis lors.
Si :
Code : Sélectionner tout - Visualiser dans une fenêtre à part (([39]|([147]|[258][0369]*[258])([147][0369]*[258]|[0369])*5|([258]|[147][0369]*[147])([258][0369]*[147]|[0369])*[17])*([06]|([147]|[258][0369]*[258])([147][0369]*[258]|[0369])*[28]|([258]|[147][0369]*[147])([258][0369]*[147]|[0369])*4))*
Les entiers naturels multiples de n sont d'ailleurs un cas d'école classique lorsque l'on étudie les langages, et les « expressions régulières » ont pour ainsi dire existé avant les ordinateurs. Par contre, en général, on travaille avec des binaires, pour éviter de se retrouver avec ce genre d'équation.
Par contre, inutile de dire que ce n'est pas trivial et que selon n, le problème peut être très simple ou assez compliqué. mais il y a quand même un avantage majeur à établir la régularité d'un langage donné : la possibilité d'effectuer cette reconnaissance en utilisant l'AFD associé, ce qui garantit que le problème est faisable quelque soit la longueur du mot analysé, et ce en complexité linéaire.
Si je traite un nombre de 7000 milliards de chiffres et que je mets un an à l'émettre, je sais que je n'aurais jamais besoin de plus de mémoire que les quelques octets alloués au départ et que j'obtiendrai la réponse immédiatement après la transmission du dernier chiffre.
Partager