Additionner et soustraire des fractions
3/4 + 2/5 donne 23/20, soit 1 3/20 en nombre mixte. Choisissez l'addition ou la soustraction, saisissez deux fractions et obtenez le résultat exact sous forme irréductible ; un résultat négatif porte toujours son signe au numérateur. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Opération
- Ajouter la taxe
- Premier numérateur
- 1
- Dénominateur A
- 2
- Numérateur B
- 1
- Dénominateur B
- 3
- Numérateur
- 5
- Dénominateur
- 6
- Signe
- 1
- Format lisible
- 5/6
En plus de la fraction simplifiée, vous obtenez son signe, sa forme en nombre mixte lorsqu'elle n'est pas entière, ainsi qu'un rendu décimal, ce qui permet à la réponse de s'intégrer directement dans la vérification de devoirs, l'adaptation de recettes, les calculs de mesures ou tout pipeline qui travaille en ratios plutôt qu'en nombres flottants. Un dénominateur nul est rejeté avec une erreur claire avant le moindre calcul.
Pourquoi les fractions restent supérieures aux décimales
L'arithmétique décimale est pratique jusqu'à ce que la précision compte. Un tiers, ce n'est pas 0.333333 ; c'est exactement 1/3, et dès que vous l'arrondissez, vous introduisez une erreur qui se cumule à chaque opération suivante. Travailler directement avec l'addition et la soustraction de fractions garde chaque valeur exacte du début à la fin : le dénominateur commun est calculé en arithmétique entière, les numérateurs sont combinés, et ce n'est qu'à la toute fin — si vous le demandez — qu'une approximation décimale est produite.
Cet ordre compte dans l'enseignement, où un élève qui compare 1/2 + 1/3 à 5/6 a besoin de la réponse exacte, et il compte tout autant en ingénierie et en cuisine, où les quantités arrivent sous forme de rapports d'entiers et où les convertir en flottants juste pour les additionner fait perdre une information que vous aviez gratuitement. Ce point de terminaison traite la fraction comme l'unité de travail native.
Vous envoyez quatre entiers et une opération ; vous recevez la somme ou la différence exacte, réduite, avec le signe normalisé sur le numérateur pour que le code en aval n'ait jamais à deviner où se trouve le signe moins.
Comment fonctionne la simplification
Chaque résultat passe par le même pipeline de réduction. D'abord, l'opération est appliquée sur un dénominateur commun : pour A = a/b et B = c/d, l'addition donne (a·d + c·b) / (b·d) et la soustraction donne (a·d − c·b) / (b·d). Ensuite, le plus grand commun diviseur du numérateur et du dénominateur obtenus est calculé avec l'algorithme d'Euclide, et les deux sont divisés par ce nombre, ce qui garantit que la fraction est réduite à sa plus simple expression — 4/8 revient sous la forme 1/2, jamais 4/8.
Si le dénominateur porte le signe, celui-ci est déplacé vers le numérateur, de sorte que −1/2 est toujours signalé avec le numérateur −1 et le dénominateur 2. Lorsque le dénominateur simplifié vaut 1, le résultat est un entier et la réponse l'indique explicitement, en omettant les champs de nombre mixte ; sinon, vous recevez aussi la partie entière et la fraction propre restante, qui est la forme sous laquelle les recettes et les mesures de menuiserie sont habituellement exprimées.
Le champ décimal est un rendu fixe à six décimales destiné à l'affichage, jamais à être réinjecté dans des calculs exacts. Tout cela relève de l'arithmétique entière pure : aucune virgule flottante n'intervient dans la réduction à aucune étape, la réponse est donc déterministe et identique à chaque appel.
Cas d’usage
Vérifier les devoirs pas à pas
Confirmez que 3/4 + 2/5 fait bien 23/20 et voyez la forme mixte 1 3/20 pour la réponse écrite finale.
Adapter les recettes sans arrondir
Combinez exactement les mesures fractionnaires — 2/3 de tasse plus 1/4 de tasse donnent 11/12 de tasse, pas une décimale arrondie approximative.
Valider les pipelines de ratios
Gardez les ratios d'ingénierie ou financiers exacts à travers chaque addition et soustraction, en ne convertissant en décimale qu'au moment de l'affichage.
Questions fréquentes
Combien cela coûte-t-il ?
L'exécution est également gratuite dans votre navigateur sur cette page.
Le résultat est-il toujours simplifié ?
Oui. Le numérateur et le dénominateur sont divisés par leur plus grand commun diviseur, la fraction est donc toujours renvoyée réduite à sa plus simple expression.
Puis-je utiliser des fractions négatives ?
Oui. Les numérateurs et dénominateurs négatifs sont acceptés ; le signe est toujours normalisé sur le numérateur dans le résultat.
Comment la valeur décimale est-elle calculée ?
Il s'agit d'un rendu à six décimales de la fraction exacte, destiné uniquement à l'affichage — la fraction elle-même est la réponse exacte.
Comment soustraire des fractions de dénominateurs différents ?
Les deux fractions sont ramenées à un dénominateur commun, le produit des deux dénominateurs, puis le second numérateur ajusté est retiré du premier. Le résultat est ensuite divisé par le plus grand commun diviseur : il est donc toujours irréductible.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/math/adding-and-subtracting-fractions \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"operation":"add","a_num":1,"a_den":2,"b_num":1,"b_den":3}'const res = await fetch("https://api.kit.forhosting.com/math/adding-and-subtracting-fractions", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"operation": "add",
"a_num": 1,
"a_den": 2,
"b_num": 1,
"b_den": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/adding-and-subtracting-fractions",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"operation": "add",
"a_num": 1,
"a_den": 2,
"b_num": 1,
"b_den": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/adding-and-subtracting-fractions", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"operation":"add","a_num":1,"a_den":2,"b_num":1,"b_den":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"operation":"add","a_num":1,"a_den":2,"b_num":1,"b_den":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/adding-and-subtracting-fractions", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"operation": "add",
"a_num": 1,
"a_den": 2,
"b_num": 1,
"b_den": 3
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.adding_and_subtracting_fractions",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
L'API d'addition et de soustraction de fractions prend les numérateurs et les dénominateurs de deux fractions, applique l'opération que vous choisissez — addition ou soustraction — et renvoie le résultat déjà réduit à sa plus simple expression.
Validation, erreurs et facturation équitable
Le point de terminaison échoue vite et échoue à moindre coût. Les numérateurs et dénominateurs négatifs sont pleinement pris en charge : soustraire une fraction plus grande d'une plus petite donne simplement un résultat négatif correct. Avant tout calcul, chaque champ est vérifié : l'opération doit être exactement 'add' ou 'subtract', chaque numérateur et dénominateur doit être un entier — envoyé soit comme nombre JSON, soit comme simple chaîne entière telle que "−3" ou "7" — et aucun dénominateur ne peut être nul. Un dénominateur nul est le piège classique de la division par zéro, et au lieu de renvoyer un infini ou un NaN silencieux qui empoisonnerait un pipeline en aval, l'API rejette la requête avec une erreur invalid_input qui nomme le champ fautif. Comme l'erreur est classée comme une faute du client, la requête n'est pas facturée : vous ne payez jamais que les réponses, à $0.002 par appel. Le même code qui tourne sur l'API s'exécute gratuitement dans votre navigateur sur cette page, vous pouvez donc vérifier n'importe quel calcul à la main avant de l'intégrer à un flux automatisé, et la version navigateur applique une validation identique, ce qui signifie aucune surprise au passage des tests à la production.
Questions techniques
Que se passe-t-il si un dénominateur est nul ?
La requête est rejetée avec une erreur invalid_input qui nomme le champ concerné, et elle n'est pas facturée.
Est-ce que je reçois un nombre mixte en retour ?
Chaque fois que le résultat simplifié n'est pas un entier, la réponse inclut mixed_whole, mixed_num et mixed_den avec la forme en nombre mixte.