Calcolatore di MCD
Il massimo comune divisore di 48 e 18 è 6: è il numero più grande presente in entrambe le liste di divisori. Inserisca due interi, con segno o con uno zero, e ottenga la risposta esatta per semplificare frazioni, riempire scatole uguali o scegliere piastrelle. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- A
- 48
- B
- 18
- Gcf
- 6
Il massimo comune divisore di due numeri interi è l'intero più grande che li divide entrambi esattamente, e compare di continuo: nel ridurre le frazioni, nel dividere quantità in gruppi uguali, nel dimensionare le piastrelle di un pavimento o nel semplificare rapporti nel codice. Questa capacità lo calcola con l'algoritmo di Euclide, lo stesso metodo che i matematici usano da oltre duemila anni, e restituisce un unico intero. Invii due interi — positivi, negativi o zero, come numeri o come stringhe numeriche esatte — e riceva il loro massimo comune divisore.
Che cos'è davvero il massimo comune divisore
Prenda due interi, diciamo 48 e 18. I numeri che dividono esattamente 48 sono 1, 2, 3, 4, 6, 8, 12, 16, 24 e 48; i divisori di 18 sono 1, 2, 3, 6, 9 e 18. I divisori che condividono sono 1, 2, 3 e 6, e il più grande tra essi — 6 — è il massimo comune divisore, scritto mcd(48, 18) = 6.
Elencare i divisori funziona con i numeri piccoli, ma scala malissimo: fattorizzare un intero di quindici cifre è davvero difficile. Il calcolatore di massimo comune divisore evita del tutto la fattorizzazione. Usa l'algoritmo di Euclide, che si basa su un'osservazione: qualsiasi divisore comune di a e b divide anche il resto della divisione del maggiore per il minore.
Sostituire il numero più grande con quel resto riduce il problema a ogni passo conservando tutti i divisori comuni, finché uno dei numeri arriva a zero e l'altro è la risposta. L'intero calcolo richiede al massimo qualche decina di passaggi anche per gli interi più grandi che JavaScript rappresenta esattamente, e il risultato è sempre esatto — niente virgola mobile, nessuna approssimazione.
Input, segni, zero ed errori
I segni non contano: mcd(-48, 18) è uguale a mcd(48, 18), perché un divisore di un numero divide anche il suo opposto, quindi l'algoritmo lavora sui valori assoluti. Lo zero è un input legittimo con un significato preciso — mcd(17, 0) è 17, poiché ogni intero divide zero e il più grande divisore di 17 è 17 stesso — ma entrambi i campi a zero vengono rifiutati, perché ogni intero divide zero e non ne esiste uno massimo.
I valori assoluti sono limitati a 9007199254740991, il più grande intero che JavaScript rappresenta esattamente; qualsiasi valore più grande non potrebbe essere trattato esattamente e viene rifiutato.
Dove si inserisce e quanto costa
Il massimo comune divisore si incontra più spesso di quanto il nome suggerisca. Ridurre una frazione ai minimi termini significa dividere numeratore e denominatore per il loro MCD. Dividere una spedizione in scatole identiche senza avanzi, scegliere la piastrella quadrata più grande che copre un pavimento rettangolare senza tagli e semplificare un rapporto d'aspetto in un layout responsivo sono la stessa domanda con vesti diverse.
Nel codice compare dentro scheduler, funzioni hash e routine crittografiche. Questa capacità è volutamente minimale: restituisce il fattore stesso, nient'altro, così si combina in modo pulito con qualsiasi cosa lo consumi. Se Le servono i passaggi di divisione completi dell'algoritmo di Euclide, i coefficienti di Bézout o anche il minimo comune multiplo, capacità sorelle coprono questi casi.
Viene eseguita sul nostro edge globale senza conservare nulla dopo la risposta, e lo stesso modulo alimenta il calcolatore gratuito di questa pagina, così può verificare qualsiasi risultato a mano prima di integrarlo in una pipeline.
Casi d'uso
Ridurre una frazione ai minimi termini
Divida numeratore e denominatore per il loro massimo comune divisore per semplificare 48/18 in 8/3 con una sola chiamata.
Dividere quantità in gruppi uguali
Trovi la dimensione di lotto identica più grande che divide esattamente due quantità di magazzino, senza avanzi.
Semplificare i rapporti in un motore di layout
Converta dimensioni in pixel come 1920x1080 nel rapporto 16:9 che rappresentano prima di salvarle o mostrarle.
Domande frequenti
Quanto costa?
È anche gratuita da eseguire nel Suo browser in questa pagina.
I segni dei numeri contano?
No. Il massimo comune divisore è calcolato sui valori assoluti, quindi mcd(-48, 18) e mcd(48, 18) sono entrambi 6.
Uno dei numeri può essere zero?
Sì: mcd(a, 0) è |a|. Entrambi a zero vengono rifiutati, perché mcd(0,0) non è definito.
Quanto grandi possono essere gli interi?
Fino a 9007199254740991 in valore assoluto, il più grande intero rappresentabile esattamente. I valori più grandi vengono rifiutati invece di essere calcolati in modo approssimato.
Viene conservato qualcosa dopo la chiamata?
No. I due interi vengono elaborati e scartati; viene restituito solo il massimo comune divisore.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/math/gcf \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":48,"b":18}'const res = await fetch("https://api.kit.forhosting.com/math/gcf", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 48,
"b": 18
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/gcf",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 48,
"b": 18
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/gcf", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":48,"b":18}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":48,"b":18}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/gcf", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"a": 48,
"b": 18
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.gcf",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_abs | 9007199254740991 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Gli input non interi vengono rifiutati con un errore chiaro, e lo stesso codice che risponde all'API funziona gratuitamente nel Suo browser in questa pagina.
Input, segni, zero ed errori
L'endpoint accetta due campi obbligatori, a e b. Ognuno deve essere un intero: un numero JSON come 1071 oppure una stringa numerica come "-252" che rappresenti un intero esatto — le stringhe sono comode quando il valore proviene da un modulo o da un file di testo. I decimali come 2.5, le frazioni, i booleani e il testo non numerico vengono rifiutati con un errore invalid_input che indica il campo colpevole, perché il massimo comune divisore è definito solo per gli interi.
Dove si inserisce e quanto costa
Il prezzo è $0.002 a richiesta senza supplemento per unità, e richieste identiche producono sempre risposte identiche.
Domande tecniche
Quali input sono accettati?
Due interi, a e b, come numeri JSON o come stringhe numeriche che siano interi esatti. Qualsiasi altra cosa viene rifiutata con un errore invalid_input.