Sequenza di Sylvester
Ogni termine della sequenza di Sylvester è 1 più il prodotto di tutti i precedenti: 2, 3, 7, 43, 1807, e il termine in posizione 5 è 3263443. Tutte le cifre restano esatte, per quanto grande sia il numero. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- N
- 5
- Valore
- 3263443
- Sequenza
- 2, 3, 7, 43, 1807, 3263443
La sequenza di Sylvester è la successione intera che inizia da due e poi costruisce ogni termine successivo come uno più il prodotto di tutti i termini precedenti. In modo equivalente, ogni successore soddisfa s sub k più uno uguale a s sub k al quadrato meno s sub k più uno, producendo il prefisso familiare due, tre, sette, quarantatré, milleottocentosette, e così via. La sequenza cresce così in fretta che i tipi in virgola mobile ordinari e persino gli interi a larghezza fissa falliscono in pochi passi, così questa calcolatrice usa aritmetica BigInt e restituisce ogni valore come stringa decimale che conserva ogni cifra. Lei fornisce un indice intero non negativo n sotto la convenzione base zero in cui n uguale a zero restituisce il primo termine due; gli indici negativi sono rifiutati con un errore di validazione chiaro invece di una risposta sbagliata silenziosa. Quando serve più di un solo termine, attivi il flag opzionale list per ricevere l’intero prefisso da s0 a sn come array di stringhe decimali.
Come la sequenza di Sylvester è definita e calcolata
Usiamo l’indicizzazione standard base zero di Sylvester con s0 uguale a due. Ogni termine successivo è definito in modo che s sub n sia uguale a uno più il prodotto di s0 fino a s sub n meno uno. Quella regola di prodotto è esattamente equivalente alla ricorrenza compatta s sub k più uno uguale a s sub k per la quantità s sub k meno uno, più uno, che si riordina come s al quadrato meno s più uno.
Sotto quella regola s1 è tre, s2 sette, s3 quarantatré, s4 milleottocentosette, s5 tre milioni duecentosessantatremila quattrocentoquarantatré, e i termini successivi esplodono in modo doppiamente esponenziale. L’implementazione non approssima mai con potenze o logaritmi in virgola mobile; invece percorre la ricorrenza con moltiplicazioni BigInt dal primo termine fino a n, garantendo che ogni cifra sia esatta anche quando il risultato ha migliaia di decimali.
Il percorso è pienamente deterministico — senza semi casuali, senza orologi, senza rete e senza deriva di modello —, così lo stesso n produce sempre la stessa stringa e la stessa sequenza opzionale.
Dove i numeri di Sylvester compaiono nel lavoro reale
I corsi di teoria dei numeri presentano la sequenza di Sylvester come esempio canonico di una ricorrenza prodotto-più-uno e come fonte di interi a coppie coprimi i cui reciproci formano un’espansione avida in frazioni egizie di uno. Demo di prodotto, colloqui di codice e post di blog sulle relazioni di ricorrenza mostrano spesso una breve tabella di Sylvester accanto alla crescita di Fibonacci o fattoriale; elencare s0 fino a sn in una sola chiamata mantiene oneste le demo interattive senza reimplementare il ciclo in ogni linguaggio.
Note di ricerca su frazioni egizie, coprimalità della sequenza di Sylvester e crescita doppiamente esponenziale beneficiano di un’unica implementazione di riferimento condivisa. Se più avanti le servono termini di Sylvester modulari, certificati di mcd a coppie o espansioni in frazioni egizie di un razionale, li tratti come intenti di ricerca separati invece di sovraccaricare l’atterraggio di questa calcolatrice.
Domande frequenti
Come ogni termine si collega ai precedenti?
Ogni termine è uguale a uno più il prodotto di tutti i termini precedenti.
Perché value è una stringa invece di un numero?
I numeri di Sylvester crescono in modo doppiamente esponenziale e lasciano quasi subito gli interi sicuri di JavaScript. Le stringhe decimali conservano ogni cifra esatta.
Cosa succede se n è negativo?
L’indice di Sylvester n deve essere non negativo sotto questa convenzione.
Quanto costa?
Lo strumento del browser è gratuito e gira in locale.
Posso ottenere tutti i termini fino a n e non solo l'ultimo?
Sì. Attivi l'opzione che elenca la sequenza e riceve tutti i termini dal primo fino alla posizione n. Per la posizione 5 sono 2, 3, 7, 43, 1807 e 3263443, ciascuno scritto per intero.
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/sylvester-sequence \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":5}'const res = await fetch("https://api.kit.forhosting.com/math/sylvester-sequence", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/sylvester-sequence",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/sylvester-sequence", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/sylvester-sequence", 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": 5
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.sylvester_sequence",
"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
min_n | 0 |
max_n | 20 |
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
Lo strumento gratuito del browser e l’API a pagamento condividono un’unica funzione pura, così le demo in aula e le pipeline automatiche non divergono mai in silenzio.
Come la sequenza di Sylvester è definita e calcolata
Restituire il valore come stringa decimale tiene onesti i consumatori JSON: in s7 il numero ha già ventisette cifre, e in s10 centinaia, ben oltre l’intervallo di interi sicuri dei numeri JavaScript ordinari. I limiti tengono n tra zero e venti inclusi così latenza e memoria del caso peggiore restano adatte a uno strumento gratuito nel browser e a un percorso Worker leggero, coprendo ancora ogni termine che ragionevolmente scrivereste a mano o mostrereste in lezione.
Cosa inviare e cosa si ottiene indietro
L’errore per un indice negativo afferma che l’indice di Sylvester deve essere non negativo così client di form e script possono correggere l’input senza indovinare. In successo la risposta include sempre l’n normalizzato e value come l’esatto n-esimo numero di Sylvester scritto in decimale. Fornisca un intero non negativo obbligatorio sotto il campo n, o gli alias number o index. Il valore deve essere un intero da zero a venti inclusi; campi assenti, non interi, decimali e qualsiasi n sotto zero sono rifiutati con invalid_input e non vengono addebitati. Opzionalmente imposti list a true (si accettano gli alias sequence e include_sequence) per richiedere il prefisso completo s0 fino a sn. Quando list è true, la risposta include anche sequence: un array di n più uno stringhe decimali che inizia con il termine zero, due. Controlli di esempio: n uguale a zero produce value due e, se elencato, una sequenza a un solo elemento; n uguale a uno produce value tre; n uguale a due produce value sette; n uguale a tre produce value quarantatré; n uguale a cinque produce tre milioni duecentosessantatremila quattrocentoquarantatré; un n negativo produce invalid_input. Il contratto è JSON stabile adatto a test unitari, demo in aula e pipeline batch. Il prezzo delle chiamate API riuscite è la base pubblicata di $0.002 per elemento sul saldo prepagato KIT.
Dove i numeri di Sylvester compaiono nel lavoro reale
I team di dati e analytics occasionalmente necessitano di scale intere super-esponenziali deterministiche per stress test di serializzatori di grandi interi, limiti di dimensione JSON o larghezze di colonna di database; una sequenza di stringhe esatte evita errori di scarto tra codebase base-0 e base-1 una volta fissata la convenzione sulla pagina di atterraggio. Poiché questa capacità è un motore di parse puro, il prezzo API è la base pubblicata di $0.002 per elemento riuscito e la validazione fallita non consuma saldo.
Casi di integrazione
Fixture di gare e compiti
Generi stringhe esatte di Sylvester s(n) e prefissi opzionali s0..sn per problemi di olimpiade, esercizi di programmazione e chiavi di risposta automatiche.
Insegnare la crescita prodotto-più-uno
Mostri agli studenti la sequenza doppiamente esponenziale come stringhe decimali così i grandi termini restano esatti e la convenzione s0=2 è visibile, non astratta.
Stress di grandi interi e serializzatori
Inserisca interi super-esponenziali deterministici in test di JSON, database e pipeline BigInt senza reimplementare la ricorrenza in ogni servizio.
Domande tecniche
Quale indicizzazione usa questa calcolatrice di Sylvester?
Base zero con s0 = 2. Poi s1 = 3, s2 = 7, s3 = 43, s4 = 1807, e così via. Gli indici negativi sono rifiutati.