. Addition et soustraction de fractions

王林
Libérer: 2024-08-24 06:40:41
original
238 Les gens l'ont consulté

. Fraction Addition and Subtraction

592. Addition et soustraction de fractions

Difficulté :Moyen

Sujets : Mathématiques, cordes, simulation

Étant donné une expression de chaîne représentant une expression d'addition et de soustraction de fraction, renvoie le résultat du calcul au format chaîne.

Le résultat final devrait être une fraction irréductible. Si votre résultat final est un entier, changez-le au format d'une fraction qui a un dénominateur 1. Donc dans ce cas, 2 doit être converti en 2/1.

Exemple 1 :

  • Entrée : expression = "-1/2+1/2"
  • Sortie : "0/1"

Exemple 2 :

  • Entrée : expression = "-1/2+1/2+1/3"
  • Sortie : "1/3"

Exemple 3 :

  • Entrée : expression = "1/3-1/2"
  • Sortie : "-1/6"

Contraintes :

  • La chaîne d'entrée contient uniquement « 0 » à « 9 », « / », « + » et « - ». La sortie aussi.
  • Chaque fraction (entrée et sortie) a le format ±numérateur/dénominateur. Si la première fraction d'entrée ou la sortie est positive, alors '+' sera omis.
  • L'entrée ne contient que des fractions irréductibles valides, où le numérateur et le dénominateur de chaque fraction seront toujours compris dans la plage [1, 10]. Si le dénominateur est 1, cela signifie que cette fraction est en fait un entier dans un format de fraction défini ci-dessus.
  • Le nombre de fractions données sera compris entre [1, 10].
  • Le numérateur et le dénominateur du résultat final sont garantis valides et dans la plage de 32 bits int.

Solution :

Nous devons analyser soigneusement la chaîne d'entrée et effectuer des opérations arithmétiques sur les fractions. Les étapes sont les suivantes :

  1. Analyser l'expression d'entrée : extrayez des fractions individuelles de la chaîne d'expression.
  2. Calculez le résultat : ajoutez ou soustrayez les fractions étape par étape.
  3. Simplifiez le résultat : convertissez la fraction finale en sa forme irréductible.

Implémentons cette solution en PHP : 592. Addition et soustraction de fractions

<?php
// Example usage
echo fractionAddition("-1/2+1/2"); // Output: "0/1"
echo "\n";
echo fractionAddition("-1/2+1/2+1/3"); // Output: "1/3"
echo "\n";
echo fractionAddition("1/3-1/2"); // Output: "-1/6"
?>
Copier après la connexion

Explication:

  • Fonction pgcd : calcule le plus grand diviseur commun de deux nombres, ce qui aide à simplifier la fraction.
  • Fonction addFractions : Ajoute deux fractions. Il calcule le dénominateur commun, ajuste les numérateurs en conséquence, les additionne, puis simplifie la fraction résultante.
  • Fonction fractionAddition : Il s'agit de la fonction principale qui analyse l'expression d'entrée, utilise des expressions régulières pour extraire toutes les fractions et les additionne de manière itérative à l'aide de la fonction addFractions.

Cas de tests :

  • fractionAddition("-1/2+1/2") renvoie "0/1".
  • fractionAddition("-1/2+1/2+1/3") renvoie "1/3".
  • fractionAddition("1/3-1/2") renvoie "-1/6".

Cette solution gère toutes les opérations requises et renvoie le résultat correct pour chaque expression donnée.

Liens de contact

Si vous avez trouvé cette série utile, pensez à donner une étoile au référentiel sur GitHub ou à partager la publication sur vos réseaux sociaux préférés ?. Votre soutien signifierait beaucoup pour moi !

Si vous souhaitez du contenu plus utile comme celui-ci, n'hésitez pas à me suivre :

  • LinkedIn
  • GitHub

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!