Maison développement back-end tutoriel php . Addition et soustraction de fractions

. Addition et soustraction de fractions

Aug 24, 2024 am 06:40 AM

. 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!

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

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium) 11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium) Mar 03, 2025 am 10:49 AM

11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium)

Travailler avec les données de session Flash dans Laravel Travailler avec les données de session Flash dans Laravel Mar 12, 2025 pm 05:08 PM

Travailler avec les données de session Flash dans Laravel

Misque de réponse HTTP simplifié dans les tests Laravel Misque de réponse HTTP simplifié dans les tests Laravel Mar 12, 2025 pm 05:09 PM

Misque de réponse HTTP simplifié dans les tests Laravel

Introduction à l'API Instagram Introduction à l'API Instagram Mar 02, 2025 am 09:32 AM

Introduction à l'API Instagram

Construisez une application React avec un Laravel Back End: Partie 2, React Construisez une application React avec un Laravel Back End: Partie 2, React Mar 04, 2025 am 09:33 AM

Construisez une application React avec un Laravel Back End: Partie 2, React

Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST Mar 14, 2025 am 11:42 AM

Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST

12 meilleurs scripts de chat PHP sur Codecanyon 12 meilleurs scripts de chat PHP sur Codecanyon Mar 13, 2025 pm 12:08 PM

12 meilleurs scripts de chat PHP sur Codecanyon

Annonce de l'enquête sur la situation en 2025 PHP Annonce de l'enquête sur la situation en 2025 PHP Mar 03, 2025 pm 04:20 PM

Annonce de l'enquête sur la situation en 2025 PHP

See all articles