Terne pitagoriche da un cateto
Inserisca un cateto di un triangolo rettangolo e ottenga tutti i triangoli interi che lo condividono: un cateto di 20 ha quattro compagni, da 20-15-25 a 20-99-101. Ogni terna è segnata come primitiva o multipla, ordinata per l'altro cateto. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Leg
- 20
- Quantità
- 4
Una terna pitagorica è una tripla di interi positivi (a, b, c) che soddisfano a² + b² = c² — le lunghezze dei lati di un triangolo rettangolo a lati interi. In classe, nei concorsi e nella generazione di triangoli di esempio si parte spesso da un solo cateto noto e si chiede quali partner interi completino l'equazione. Questa capacità riceve la lunghezza di un cateto e restituisce ogni terna corrispondente: il cateto fisso, ogni altro cateto compatibile, l'ipotenusa e se la terna è primitiva.
Cosa significano le terne pitagoriche con un cateto fisso
Quando Lei fissa un cateto a di un triangolo rettangolo e richiede che l'altro cateto b e l'ipotenusa c siano anch'essi interi positivi, sta chiedendo tutte le soluzioni di a² + b² = c² con quel a tenuto costante. La terna più piccola è la famiglia familiare 3-4-5; ogni cateto intero di tre o più compare in almeno una terna, a volte in diverse. Alcune soluzioni sono primitive — gcd(a, b, c) vale uno — mentre altre sono multipli interi di una terna più piccola, come 6-8-10 da 3-4-5.
I manuali possono chiedere solo il partner primitivo, ma i problemi di costruzione, gli angoli retti esatti al pixel e i percorsi interi sul reticolo spesso richiedono l'elenco completo. Enumerare a mano significa cercare b tale che a² + b² sia un quadrato perfetto, operazione che diventa tediosa al crescere di a ed è facile omettere un partner intermedio. Automatizzare la ricerca mantiene l'elenco completo, ordinato e pronto per il passo successivo di una pipeline, un controllo compiti o un generatore di dati geometrici di esempio.
Come la capacità trova ogni terna corrispondente
Algebricamente, a² + b² = c² si riscrive come c² − b² = a², oppure (c − b)(c + b) = a². Il motore scorre quindi ogni coppia di divisori positivi (d, e) di a² con d = c − b, e = c + b, d minore di e, e d ed e della stessa parità affinché b e c risultino interi: b è (e − d) diviso due e c è (e + d) diviso due.
Ogni coppia valida diventa la terna (a, b, c) con a uguale al cateto richiesto; il motore registra anche se gcd(a, b, c) è uno, così Lei distingue le terne primitive da quelle scalate senza un secondo passaggio. Non c'è casualità, dipendenza dall'orologio né chiamata di rete.
Casi d'uso
Controllo compiti e concorsi
Verifichi l'elenco completo di terne intere di uno studente per un cateto dato rispetto a una risposta canonica, inclusi quali elementi sono primitivi.
Angoli retti su reticolo e CAD
Scelga partner interi di altro cateto e ipotenusa per una lunghezza fissa, così disegni, griglie o percorsi utensile mantengano angoli retti pitagorici esatti senza errore in virgola mobile.
Domande frequenti
Perché il cateto deve essere almeno tre?
Nessuna terna pitagorica di interi positivi ha un cateto di 1 o 2.
Quali terne del cateto 20 sono primitive?
Due delle quattro: 20-21-29 e 20-99-101, i cui tre lati non hanno divisori comuni. Le altre due, 20-15-25 e 20-48-52, sono multipli interi di triangoli più piccoli.
Che cosa significa primitiva nell'elenco?
Una terna è primitiva quando i suoi tre lati non hanno altro divisore comune che 1. La terna 6-8-10 non lo è, perché è semplicemente 3-4-5 moltiplicata per due.
Quanto può essere grande il cateto?
Qualsiasi intero da 3 fino a un milione. I valori minori di 3, i decimali e tutto ciò che supera il tetto vengono rifiutati con un messaggio chiaro, invece di dare un elenco incompleto.
Come trova tutti i cateti compagni?
Riscrive a² + b² = c² come (c − b)(c + b) = a² e prova ogni coppia di divisori di a² con la stessa parità. Ogni coppia dà un triangolo intero, quindi non ne sfugge nessuno.
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-from-leg \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"leg":20}'const res = await fetch("https://api.kit.forhosting.com/numth/pythagorean-from-leg", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"leg": 20
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/pythagorean-from-leg",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"leg": 20
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/pythagorean-from-leg", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"leg":20}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"leg":20}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/pythagorean-from-leg", 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
{
"leg": 20
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.pythagorean_from_leg",
"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
Come la capacità trova ogni terna corrispondente
Lei invia un corpo JSON con un solo campo obbligatorio leg, un intero positivo almeno tre e al massimo un milione. I risultati sono ordinati per l'altro cateto crescente e poi per l'ipotenusa, così richieste identiche producono sempre lo stesso ordine JSON. Un input non valido — leg assente, non intero, valore sotto tre o oltre il tetto pubblicato — fallisce con invalid_input e non viene mai addebitato.
Dove usarla e quanto costa
Gli usi tipici includono la verifica delle risposte degli studenti che elencano tutte le completamenti interi di a² + b² = c² per un a fisso, la generazione di triangoli rettangoli primitivi e non primitivi per demo di geometria, l'inserimento di coppie di coordinate intere per grafica o percorsi CNC che richiedono angoli retti esatti, e la documentazione della famiglia completa di triangoli rettangoli sul reticolo che condividono un lato dato. Il percorso browser gira in locale e non richiede un account. Usi lo strumento gratuito del browser quando desidera un elenco rapido per un solo cateto, oppure chiami l'API quando uno script, un registro voti o un job di dati deve risolvere molti cateti allo stesso modo ogni volta. L'uso dell'API preleva dal saldo prepagato KIT al prezzo base pubblicato $0.002 per richiesta riuscita; la validazione fallita non consuma saldo. Mantenga leg entro i limiti documentati così la scansione dei fattori su a² resta prevedibile, e tratti count e is_primitive come campi di primo piano anziché ricalcolarli in codice client che potrebbe discostarsi da questo contratto.
Casi di integrazione
Generatori di triangoli rettangoli di esempio
Passi cateti successivi attraverso l'API per costruire librerie di triangoli a lati interi per demo, schede o quiz casuali con risposte esatte.
Domande tecniche
Come elenco le terne pitagoriche che usano un cateto dato?
Invii in POST un corpo JSON con il campo intero leg (almeno 3). La risposta include count e un array di terne {a, b, c, is_primitive}.
Cosa significa is_primitive nella risposta?
Una terna è primitiva quando gcd(a, b, c) vale 1. Le terne scalate come 6-8-10 hanno is_primitive false perché sono multipli di 3-4-5.
Lo strumento di terne pitagoriche da un cateto è gratuito?
Il widget del browser è gratuito e gira in locale. Le chiamate API usano il saldo prepagato KIT al prezzo base pubblicato $0.002; l'input non valido non viene addebitato.
Il risultato è sempre lo stesso per lo stesso cateto?
Sì. L'algoritmo è un'enumerazione pura di fattori su a² senza casualità né timestamp, quindi input identici producono JSON identico.