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 doit être une fraction irréductible. Si votre résultat finalest un nombre entier, changez-le au format d'une fraction ayant un dénominateur 1. Donc dans ce cas, 2 devrait ê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 desfractions irréductiblesvalides, où lenumérateuret ledénominateurde chaque fraction seront toujours compris entre [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 durésultat finalsont garantis valides et compris dans la plage de32 bitsint.
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 :
- Analyser l'expression d'entrée: extrayez des fractions individuelles de la chaîne d'expression.
- Calculez le résultat: ajoutez ou soustrayez les fractions étape par étape.
- 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
Copier après la connexion
Explication:
- Fonction gcd: 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 audépôtsur 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 :
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!