ForHosting KIT · Matematica

Calcolatore di partizioni intere

Conti i modi di scrivere un intero come somma quando l'ordine non conta: 4 si scompone in 4, 3+1, 2+2, 2+1+1 e 1+1+1+1, quindi p(4) vale 5, e 5 ne ha 7. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
N
5
Ottiene
Valore
7
Quantità
7
Potenza (W)
7

La funzione di partizione intera p(n) risponde a una domanda classica di conteggio: in quanti modi si può scrivere un intero non negativo n come somma di interi positivi quando l'ordine degli addendi non conta? Ad esempio, 4 è uguale a 4, 3+1, 2+2, 2+1+1 e 1+1+1+1, quindi p(4) vale cinque; 5 ha sette partizioni e 10 ne ha quarantadue. Le partizioni compaiono nella teoria dei numeri, nelle funzioni generatrici, nella meccanica statistica e nelle gare di programmazione ogni volta che si contano somme di multiinsiemi piuttosto che composizioni ordinate o partizioni di insiemi etichettati. Questa capacità accetta un intero non negativo n e restituisce il p(n) esatto come stringa decimale calcolata con programmazione dinamica in BigInt, così che valori ben oltre i limiti abituali degli interi sicuri restino corretti cifra per cifra. Un n negativo viene rifiutato con un errore di convalida chiaro invece di uno zero silenzioso o di una risposta errata.

Come è definita la funzione di partizione p(n)

Una partizione intera non ristretta di un intero non negativo n è un modo di scrivere n come somma di interi positivi in cui l'ordine degli addendi è irrilevante. Per convenzione p(0) vale uno, contando la partizione vuota dello zero. I piccoli valori da manuale sono p(1)=1, p(2)=2 (ossia 2 e 1+1), p(3)=3, p(4)=5, p(5)=7, p(6)=11 e p(10)=42.

La funzione generatrice ordinaria della successione è il prodotto infinito, su k maggiore o uguale a uno, di uno su uno meno x elevato a k, che codifica il fatto che ogni intero positivo può comparire un numero qualsiasi di volte come parte. Una ricorrenza pratica usata nel software è il programma dinamico classico in stile resto di monete: si inizializza un array con un modo per formare la somma zero, poi per ogni dimensione di parte da uno a n si aggiungono i modi per completare il resto.

Quella ricorrenza riempie p(n) in modo esatto e non conta mai due volte gli ordinamenti perché le parti vengono introdotte una sola volta in ordine di dimensione non decrescente.

Oggetti affini ma diversi includono le composizioni, in cui l'ordine conta e vi sono due elevato a n meno uno composizioni di n; le partizioni di insiemi contate dai numeri di Stirling di seconda specie o dai numeri di Bell, che partizionano elementi etichettati invece di sommare interi positivi non etichettati; e le partizioni ristrette che richiedono parti distinte, solo parti dispari o un numero fisso di parti.

Questa implementazione non usa mai approssimazioni in virgola mobile, campionamento Monte Carlo o tabelle esterne: riempie un array unidimensionale di BigInt affinché ogni cifra sia corretta. Il percorso è pienamente deterministico — senza semi casuali, senza orologi, senza rete e senza deriva di modello —, cosicché lo stesso n produce sempre la stessa stringa.

Dove le partizioni intere compaiono nel lavoro reale

I corsi di teoria dei numeri e le gare di programmazione chiedono costantemente quante partizioni non ristrette abbia un dato n, come cresca p(n) o se una tabella di piccoli valori coincida con le congruenze di Ramanujan e altre identità classiche. I progettisti di algoritmi usano i conteggi di partizioni quando analizzano spazi di stato in stile knapsack intero, contano decomposizioni a multiinsieme di un budget di risorse o dimensionano tabelle di DP le cui dimensioni seguono le dimensioni delle parti.

Contesti di fisica e combinatoria collegano p(n) alle funzioni di partizione bosoniche e ai coefficienti di funzioni generatrici; gli educatori spesso mostrano un elenco breve di partizioni di un piccolo n e poi chiedono solo il conteggio. La preparazione ai colloqui e l'allenamento olimpico richiedono di frequente un p(n) affidabile senza mantenere a mano grandi tabelle né rischiare conteggi di composizioni sfalsati di uno.

Se in seguito servono composizioni in cui l'ordine conta, partizioni di insiemi tramite numeri di Stirling di seconda specie, solo numeri di Bell, partizioni ristrette con parti distinte o solo dispari, oppure un elenco esplicito di ogni partizione anziché il conteggio, li tratti come intenti di ricerca separati anziché sovraccaricare questa pagina. Mantenga n entro il limite documentato affinché la latenza del livello gratuito resti prevedibile, e preferisca consumatori di stringa per il valore restituito perché p(n) esce dall'intervallo degli interi sicuri molto prima di cinquemila.

Compiti e gare di teoria dei numeri

Calcoli p(n) esatto per problemi olimpici, esercizi di matematica discreta e chiavi di risposta automatizzate che chiedono partizioni intere non ristrette.

Controlli di valori da manuale

Verifichi i valori classici come p(5)=7 e p(10)=42 quando insegna le funzioni generatrici o costruisce dimostrazioni sulle partizioni.

Che cos'è la funzione di partizione intera p(n)?

p(n) conta i modi di scrivere n come somma di interi positivi quando l'ordine non conta. Ad esempio p(4)=5 e p(5)=7.

In che modo differisce dalle composizioni?

Le composizioni contano somme ordinate (quindi 1+3 e 3+1 sono diverse). Le partizioni ignorano l'ordine, cosicché quelle due sono la stessa partizione di 4.

Perché il valore è una stringa invece di un Number?

I numeri di partizione superano rapidamente gli interi sicuri di JavaScript. Le stringhe decimali mantengono ogni cifra esatta per p(n) grandi.

Quanto costa?

Lo strumento del browser è gratuito e gira in locale.

Quante partizioni ha il numero 10?

Quarantadue. Inserisca 10 e il risultato è p(10), cioè 42. Altre verifiche rapide sono p(5), che vale 7, e p(0), che vale 1 perché la somma vuota conta una volta.

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.

POSThttps://api.kit.forhosting.com/combo/partition-count

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/combo/partition-count \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"n":5}'
{
  "n": 5
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "combo.partition_count",
  "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.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

min_n0
max_n5000
HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Lo strumento gratuito del browser e l'API a pagamento condividono una stessa funzione pura, cosicché le dimostrazioni in aula e le pipeline automatizzate non divergono mai sullo stesso n.

Come è definita la funzione di partizione p(n)

I limiti dichiarati mantengono n tra zero e cinquemila inclusi, il che conserva una latenza nel caso peggiore adatta a uno strumento gratuito nel browser e a un percorso leggero di Worker, coprendo al contempo esigenze di gare, aula e pipeline per conteggi esatti di partizioni.

Cosa si invia e cosa si ottiene in risposta

L'intero n deve trovarsi da zero a cinquemila inclusi. I messaggi di errore indicano il campo offendente e la regola fallita così che i client di form e gli script possano correggere l'input senza indovinare. In caso di successo la risposta include sempre l'n normalizzato, value e count e p come la stessa stringa decimale esatta di p(n), e una breve stringa di formula come p(5) per la visualizzazione. Fornisca un intero n obbligatorio nel campo n (alias number, value o N). Campi mancanti, non interi, decimali e qualsiasi n negativo vengono rifiutati con invalid_input e non sono addebitati. Controlli di esempio: n uguale a cinque produce count sette; n uguale a dieci produce count quarantadue; n uguale a zero produce count uno; n uguale a quattro produce count cinque; n uguale a uno produce count uno; n uguale a meno tre produce invalid_input perché la funzione di partizione non è definita per argomenti negativi in questa regola di prodotto; n uguale a un decimale o a una stringa non numerica produce pure invalid_input. Il contratto è JSON stabile adatto a test unitari, dimostrazioni in aula e pipeline batch. Il prezzo delle chiamate API riuscite è la base pubblicata di $0.002 per elemento; i fallimenti di convalida non consumano il saldo prepagato.

Dove le partizioni intere compaiono nel lavoro reale

Poiché questa capacità è un motore di parse puro, il prezzo dell'API è la base pubblicata di $0.002 per elemento riuscito e la convalida fallita non consuma saldo.

Analisi di DP e knapsack

Dimensioni spazi di stato di decomposizione a multiinsieme e validi fixture di conteggio partizioni in pipeline di DP intera senza tabelle in virgola mobile.

Cosa succede se n è negativo?

La richiesta fallisce con invalid_input. Questo calcolatore richiede n ≥ 0; un n negativo viene rifiutato e non addebitato.

Leggi la documentazione completa del KIT →