Generatore di terne pitagoriche
Costruisce una terna pitagorica da due interi m maggiore di n con la formula di Euclide: i valori 2 e 1 danno il triangolo 3-4-5. Vede anche se la terna è primitiva e la verifica che a² + b² = c². Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- M
- 2
- N
- 1
- A
- 3
- B
- 4
- C
- 5
- Terna
- 3, 4, 5
Ogni soluzione intera di a al quadrato più b al quadrato uguale a c al quadrato può essere costruita da una coppia di interi positivi m maggiore di n mediante la parametrizzazione classica di Euclide. Docenti, programmatori di gare e autori di programmi didattici hanno bisogno di quelle terne su richiesta, senza moltiplicare i quadrati a mano né confondere quale cateto sia pari. Questo generatore di terne pitagoriche accetta m e n, rifiuta valori non positivi e ogni coppia in cui m non sia strettamente maggiore di n, e restituisce la terna a uguale a m al quadrato meno n al quadrato, b uguale a due per m per n, e c uguale a m al quadrato più n al quadrato, insieme a un flag di primitività e a una verifica.
La formula di Euclide e il significato di m e n
La formula di Euclide è il generatore costruttivo standard delle terne pitagoriche nella teoria elementare dei numeri. Dati interi m e n con m strettamente maggiore di n ed entrambi positivi, si pone a uguale a m al quadrato meno n al quadrato, b uguale al doppio del prodotto m per n, e c uguale a m al quadrato più n al quadrato.
Una breve espansione mostra che a al quadrato più b al quadrato è identicamente uguale a c al quadrato, quindi ogni coppia valida produce una vera terna di triangolo rettangolo a lati interi. Il seme classico in classe è m uguale a due e n uguale a uno, che produce il familiare triangolo tre-quattro-cinque: a uguale a tre, b uguale a quattro e c uguale a cinque. Portando m a tre con n uguale a due si ottiene cinque-dodici-tredici; m uguale a quattro e n uguale a uno produce quindici-otto-diciassette.
Quando m e n sono coprimi e di parità opposta — uno pari e uno dispari — la terna risultante è primitiva: i tre lati non condividono alcun divisore comune maggiore di uno. Se m e n condividono un fattore, o sono entrambi dispari, la terna resta valida ma scalata: ad esempio m uguale a tre e n uguale a uno, entrambi dispari, produce otto-sei-dieci, cioè il doppio di tre-quattro-cinque.
Questa capacità restituisce sempre la terna grezza di Euclide per i parametri che Lei fornisce; non riscala, non scambia i cateti e non cerca un generatore a partire da un’ipotenusa obiettivo. Lei sceglie m e n; il servizio calcola a, b e c e indica se quella terna è primitiva secondo il criterio standard.
Contratto di ingresso, campi di risposta ed errori
Entrambi i parametri devono essere strettamente maggiori di zero; zero o negativi vengono rifiutati perché la formula di Euclide è enunciata per generatori positivi. Inoltre m deve essere strettamente maggiore di n: se m è uguale a n, a collassa a zero e la figura non è un triangolo; se m è minore di n, la forma ordinata abituale della formula è violata.
In caso di successo il corpo ripete m e n, restituisce i lati interi a, b e c, include un array triple nell’ordine [a, b, c], un booleano primitive, un check booleano che a al quadrato più b al quadrato è uguale a c al quadrato quando quei quadrati restano nel range degli interi sicuri, e una stringa formula che riafferma le identità. La validazione fallita non viene fatturata.
Esempio: m uguale a due e n uguale a uno produce a uguale a tre, b uguale a quattro, c uguale a cinque, primitive true. Esempio: m uguale a sei e n uguale a tre produce a uguale a ventisette, b uguale a trentasei, c uguale a quarantacinque, primitive false perché i generatori condividono un fattore tre.
Dove un generatore di terne pitagoriche è utile
Aule e piattaforme di tutoraggio usano un generatore di terne pitagoriche affinché gli studenti esplorino famiglie di triangoli rettangoli senza errori aritmetici su quadrati e prodotti. Gli allenatori di olimpiadi e gare seminano problemi con terne primitive e hanno bisogno di un oracolo deterministico che segni le coppie generatrici non valide invece di restituire in silenzio una terna degenere con un cateto nullo. I generatori di curricoli possono scorrere m e n in cicli annidati, saltare le coppie non primitive quando serve e raccogliere elenchi di ipotenuse per le schede.
L’input non valido non consuma saldo. Tenga m e n modest per gli intervalli scolastici, fissi gli array di terna attesi nei test e otterrà lati interi riproducibili per compiti, plugin LMS e edge worker senza erigere un proprio stack di algebra computazionale.
Casi d'uso
Esplorazione in classe dei triangoli rettangoli
Lasci che gli studenti scelgano m e n, vedano subito a, b e c e scoprano quando la terna è primitiva rispetto a un multiplo scalato di una minore.
Seminazione di problemi da gara
Generi famiglie di triangoli rettangoli a lati interi per olimpiadi e gare di programmazione con un oracolo di Euclide deterministico.
Strumenti per giochi e curricolo
Produca lunghezze intere di cateti e ipotenusa per mappe di tile, progettazione di percorsi o schede auto-generate senza tabelle di terne mantenute a mano.
Domande frequenti
Come funziona il generatore di terne pitagoriche?
Invii interi positivi m e n con m > n.
Cosa succede se m non è maggiore di n?
La formula di Euclide richiede m > n > 0; parametri uguali o invertiti vengono rifiutati e non fatturati.
Quando la terna è primitiva?
Quando gcd(m, n) = 1 e m e n hanno parità opposta (uno pari e uno dispari). Altrimenti a, b e c formano ancora una terna valida ma condividono un fattore comune.
Quali m e n danno il triangolo 5-12-13?
Usi 3 per m e 2 per n. Allora m² − n² fa 5, 2mn fa 12 e m² + n² fa 13, e poiché 3 e 2 non hanno fattori comuni e uno dei due è pari, la terna è primitiva.
Perché 3 e 1 danno la terna 8-6-10?
Entrambi i numeri sono dispari, quindi la formula produce una terna ingrandita: 8-6-10 è 3-4-5 moltiplicata per due. Resta un triangolo rettangolo valido, ma non viene segnata come primitiva.
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/numth/pythagorean-triple-generator \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"m":2,"n":1}'const res = await fetch("https://api.kit.forhosting.com/numth/pythagorean-triple-generator", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"m": 2,
"n": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/pythagorean-triple-generator",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"m": 2,
"n": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/pythagorean-triple-generator", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"m":2,"n":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"m":2,"n":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/pythagorean-triple-generator", 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
{
"m": 2,
"n": 1
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.pythagorean_triple_generator",
"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.
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
Contratto di ingresso, campi di risposta ed errori
Invii con POST un oggetto JSON con due interi positivi obbligatori: m e n. Ogni campo può arrivare come numero JSON o come stringa solo di cifre; stringhe vuote, campi mancanti, non interi e valori non finiti falliscono con invalid_input indicando il campo. Valgono i limiti degli interi sicuri: m non deve essere così grande che m al quadrato esca dal range esatto IEEE-754, e a, b e c calcolati devono restare interi sicuri. Abbini il JSON al proprio codice di diagramma se Le serve un triangolo rettangolo disegnato; questo endpoint emette solo la terna numerica e i metadati.
Dove un generatore di terne pitagoriche è utile
Autori di giochi e grafica a volte necessitano di triangoli rettangoli a lati interi per dimensioni di tile, lunghezze di percorso o vincoli di level design; chiamare una piccola API di parse evita di incorporare tabelle ad hoc. Poiché l’implementazione è parse puro di livello A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello né rete in uscita.
Domande tecniche
Il tre-quattro-cinque è incluso?
Sì. Usi m = 2 e n = 1 per ottenere a = 3, b = 4, c = 5 con primitive true — la terna pitagorica primitiva fondamentale.
Quanto costa il generatore di terne pitagoriche?
Lo strumento nel browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; l’input non valido non viene fatturato.