Formula di Legendre: esponente di un primo in n!
Il primo 5 compare 24 volte nel fattoriale di 100: 100 diviso 5 dà 20, 20 diviso 5 dà 4, e 20 più 4 fa 24. Inserisca qualsiasi n e un primo p per ottenere questo esponente con poche divisioni. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- N
- 100
- Potenza (W)
- 5
- Esponente
- 24
Questo calcolatore della formula di Legendre restituisce l’esponente esatto di un primo p scelto nel fattoriale di n. Invece di costruire l’enorme intero n!, divide ripetutamente n per p e somma i quozienti interi. È utile per divisibilità, zeri finali, coefficienti binomiali, lezioni di teoria dei numeri e gare di programmazione. Ogni dato viene verificato come intero limitato e la primalità di p viene controllata separatamente, così una base composta genera un errore chiaro anziché una risposta fuorviante.
Che cosa misura la formula di Legendre
La formula conta quante copie del primo p compaiono in 1 × 2 × 3 × … × n. Ogni multiplo di p ne fornisce una, ogni multiplo di p² ne aggiunge un’altra e ogni multiplo di p³ ancora una. L’esponente è quindi floor(n/p) + floor(n/p²) + floor(n/p³) + i termini successivi, fino al quoziente zero.
Il calcolatore non espande mai il fattoriale. La risposta riporta n e p accanto al risultato.
Come vengono convalidati e calcolati i dati
Invii n, intero non negativo, e p, intero primo almeno pari a 2. Sono accettate stringhe composte soltanto da cifre decimali; frazioni, negativi, stringhe vuote, infiniti e valori oltre il limite sono respinti. Dopo la verifica, quotient = n viene sostituito con floor(quotient/p) e ogni nuovo valore si somma all’esponente fino a zero.
Questa forma evita overflow delle potenze.
Uso dell’esponente in problemi più ampi
Per trovare l’esponente di p in C(n, k), calcoli quello in n! e sottragga quelli in k! e (n-k)!. Per verificare se p^a divide n!, controlli che a non superi il risultato.
In base dieci gli zeri finali derivano da coppie di 2 e 5; poiché i fattori 2 sono più numerosi, l’esponente di 5 ne fornisce il numero. Questa capacità risponde intenzionalmente per un solo primo e mantiene piccola la risposta. È adatta a lezioni, correzioni automatiche, gare e convalide backend.
Per più primi, esegua una richiesta per ciascuno.
Casi d'uso
Verificare la massima potenza prima in un fattoriale
Trovi il massimo a per cui p^a divide n! senza calcolare il fattoriale.
Valutare le valutazioni binomiali
Combini tre esponenti fattoriali per ottenere esattamente quello di p in un coefficiente binomiale.
Domande frequenti
Che cosa significa l’esponente?
È il massimo intero a tale che p^a divide n! senza resto.
Perché p deve essere primo?
Questa forma calcola la valutazione di un singolo primo; i composti sono respinti per evitare risultati etichettati male.
Il calcolatore costruisce il fattoriale di n?
No. Somma quozienti interi successivi ed evita l’enorme valore del fattoriale.
Che cosa accade se p è maggiore di n?
Il risultato è zero perché nessun fattore da 1 a n è divisibile per p.
Quanti zeri finali ha il fattoriale di 100?
Ne ha 24. Ogni zero finale richiede un 2 e un 5, e i fattoriali contengono più fattori 2 che 5, quindi il conteggio coincide con l’esponente di 5, che la formula di Legendre dà come 24 per 100.
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/legendre-formula \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":100,"p":5}'const res = await fetch("https://api.kit.forhosting.com/numth/legendre-formula", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 100,
"p": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/legendre-formula",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 100,
"p": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/legendre-formula", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":100,"p":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":100,"p":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/legendre-formula", 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
{
"n": 100,
"p": 5
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.legendre_formula",
"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_n | 1000000000 |
max_p | 1000000000 |
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
Il risultato è la valutazione p-adica di n!, spesso indicata con v_p(n!).
Che cosa misura la formula di Legendre
Per n = 100 e p = 5, 20, 4 e 0 danno 24: 5²⁴ divide 100!, mentre 5²⁵ no. Per n = 0 e n = 1 il fattoriale vale 1 e l’esponente è zero.
Come vengono convalidati e calcolati i dati
Il servizio verifica anche la primalità: p = 7 riesce, mentre p = 9 restituisce invalid_input. L’algoritmo è deterministico, senza rete o casualità, e coincide nel browser e nell’API. Una richiesta API riuscita costa $0.002.
Casi di integrazione
Calcolare gli zeri finali di un fattoriale
Usi p = 5 per gli zeri decimali finali di n! o applichi il risultato ad altre basi.
Domande tecniche
Quanto costa un calcolo tramite API?
Ogni richiesta API riuscita costa $0.002. Il calcolatore nel browser usa lo stesso nucleo deterministico.