Avatar ·

Période d'une fraction décimale

📁 méthode, Sujets avancés sur Python, exemple

Problème : la fonction reçoit deux entiers (int(a), int(b)). Elle doit retourner le quotient a/b, en mettant entre parenthèses les chiffres répétitifs (la période).

Exemples :

1/3  = >   0.(3)29/12 = >  2.41(6)5/3  = >  1.(6)

J'ai abordé la solution par force brute. Je parcourais la partie fractionnaire à la recherche de correspondances. Mais dans le cas de 1/117, la période contient plus de 90 chiffres et le parcours prend plus de temps que ce qui est autorisé dans le problème.

Comment résoudre ce problème différemment ? Existe-t-il une solution plus élégante ?