Un nombre rationnel est défini comme le quotient de deux entiers a et b, appelés respectivement numérateur et dénominateur, où b != 0.
La valeur absolue |r| du nombre rationnel r = a/b est égale à |a|/|b|.
La somme de deux nombres rationnels r₁ = a₁/b₁ et r₂ = a₂/b₂ est r₁ + r₂ = a₁/b₁ + a₂/b₂ = (a₁ * b₂ + a₂ * b₁) / (b₁ * b₂).
La différence de deux nombres rationnels r₁ = a₁/b₁ et r₂ = a₂/b₂ est r₁ - r₂ = a₁/b₁ - a₂/b₂ = (a₁ * b₂ - a₂ * b₁) / (b₁ * b₂).
Le produit (la multiplication) de deux nombres rationnels r₁ = a₁/b₁ et r₂ = a₂/b₂ est r₁ * r₂ = (a₁ * a₂) / (b₁ * b₂).
Diviser un nombre rationnel r₁ = a₁/b₁ par un autre r₂ = a₂/b₂ donne r₁ / r₂ = (a₁ * b₂) / (a₂ * b₁) si a₂ n'est pas nul.
L'élévation d'un nombre rationnel r = a/b à une puissance entière non négative n donne r^n = (a^n)/(b^n).
L'élévation d'un nombre rationnel r = a/b à une puissance entière négative n donne r^n = (b^m)/(a^m), où m = |n|.
L'élévation d'un nombre rationnel r = a/b à un nombre réel (à virgule flottante) x est le quotient (a^x)/(b^x), qui est un nombre réel.
L'élévation d'un nombre réel x à une puissance rationnelle r = a/b donne x^(a/b) = root(x^a, b), où root(p, q) est la racine q-ième de p.
Implémente les opérations suivantes :
Ton implémentation des nombres rationnels doit toujours être réduite sous forme irréductible. Par exemple, 4/4 doit se réduire à 1/1, 30/60 doit se réduire à 1/2, 12/8 doit se réduire à 3/2, etc. Pour réduire un nombre rationnel r = a/b, divise a et b par le plus grand commun diviseur (PGCD) de a et b. Ainsi, par exemple, gcd(12, 8) = 4, donc r = 12/8 peut être réduit à (12/4)/(8/4) = 3/2.
Suppose que le langage de programmation que tu utilises n'a pas d'implémentation de nombres rationnels.
Inscris-toi sur Exercism pour apprendre et maîtriser Delphi Pascal avec 76 exercices, et un vrai mentorat humain, le tout gratuitement.