godrik: Les opérateurs // et */ existent également en OCaml, dans le module Num: http://caml.inria.fr/pub/docs/manual-ocaml-4.00/libref/Num.html
crouscous:
Quelques remarques:
- num est utilisé pour traiter également les ratios. A première vue, tu ne veux manipuler que des entiers (surtout l'exposant!). Le type big_int est donc plus approprié.
- Evite de faire des lignes trop longues: cela diminue la visibilité. Par exemple, utiliser la règle des 80 caractères est une bonne pratique.
- Pense à factoriser ton code. Par exemple, ici, une fonction locale à deux arguments qui fais le produit, puis calcule le module par la variable modulo.
- Pour être sûr d'avoir bien compris, tu peux d'abord écrire le même algorithme avec de simple entiers.