Parcours
/
TypeScript
TypeScript
/
Exercices
/
Nombres rationnels
Nombres rationnels

Nombres rationnels

Moyen

Instructions

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.

Note

D'un point de vue mathématique, le dénominateur ne peut pas être nul. Cependant, dans de nombreuses implémentations des nombres rationnels, on constate que le dénominateur peut être nul, avec un comportement semblable à celui de l'infini positif ou négatif des nombres à virgule flottante. Dans ces cas, le dénominateur et le numérateur ne peuvent généralement toujours pas être nuls en même temps.

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 donne le quotient (a^x)/(b^x), qui est un nombre réel.

L'élévation d'un nombre réel x à un nombre rationnel 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 :

  • l'addition, la soustraction, la multiplication et la division de deux nombres rationnels,
  • la valeur absolue, l'élévation d'un nombre rationnel donné à une puissance entière, l'élévation d'un nombre rationnel donné à une puissance réelle (à virgule flottante), l'élévation d'un nombre réel à un nombre rationnel.

Ton implémentation des nombres rationnels doit toujours être réduite sous forme irréductible. Par exemple, 4/4 doit se simplifier en 1/1, 30/60 doit se simplifier en 1/2, 12/8 doit se simplifier en 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 en (12/4)/(8/4) = 3/2. La forme réduite d'un nombre rationnel doit être sous « forme standard » (le dénominateur doit toujours être un entier positif). Si le dénominateur est un entier négatif, multiplie le numérateur et le dénominateur par -1 pour obtenir la forme standard. Par exemple, 3/-4 doit être réduit en -3/4

Pars du principe que le langage de programmation que tu utilises n'a pas d'implémentation des nombres rationnels.


Source

WikipediaLe lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
TypeScript Exercism

Prêt à commencer Nombres rationnels ?

Inscris-toi sur Exercism pour apprendre et maîtriser TypeScript avec 108 exercices, et un vrai mentorat humain, le tout gratuitement.