Generatore di numeri di Woodall
Il quinto numero di Woodall è 5 × 2⁵ − 1 = 159, un numero di 3 cifre. Inserisca una posizione positiva per ottenere il numero di Woodall esatto e quante cifre ha, anche quando il valore è enorme. 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
- Numero di Woodall
- 159
- Cifre decimali
- 3
Un numero di Woodall è un intero della forma speciale W(n) uguale a n moltiplicato per due elevato a n, meno uno, dove n è un indice intero positivo. La successione inizia con uno, sette, ventitré, sessantatré, centocinquantanove e cresce in modo esponenziale a causa del fattore due alla n, così i termini grandi richiedono aritmetica a precisione arbitraria anziché virgola mobile. I numeri di Woodall compaiono accanto a quelli di Cullen nelle tavole classiche di teoria dei numeri: Cullen usa n per due alla n più uno, mentre Woodall cambia il termine costante in meno uno. Studenti, preparatori di olimpiadi e autori di contenuti hanno bisogno di un oracolo deterministico che restituisca lo sviluppo decimale esatto per un indice sicuro arbitrario senza mantenere a mano stringhe enormi. Questa capacità accetta un intero positivo n, calcola W(n) con aritmetica BigInt esatta e restituisce il valore decimale completo insieme al conteggio delle cifre e a una breve formula.
Cosa sono i numeri di Woodall e come è definito W(n)
Allan Joseph Champneys Cunningham e H. J. Woodall hanno studiato interi della forma n volte una potenza di due, più o meno uno, e la famiglia W(n) uguale a n volte due alla n meno uno è universalmente chiamata successione di Woodall.
I primi termini bastano per i controlli in aula: W(1) vale uno per due meno uno, cioè uno; W(2) vale due per quattro meno uno, cioè sette; W(3) vale tre per otto meno uno, cioè ventitré; W(4) vale quattro per sedici meno uno, cioè sessantatré; W(5) vale cinque per trentadue meno uno, cioè centocinquantanove. Dopo i valori crescono rapidamente: W(10) ha già quattro cifre e W(100) ne ha trentadue, quindi qualsiasi calcolatrice seria deve usare spostamenti di bit interi anziché float a doppia precisione.
Un primo di Woodall è semplicemente un numero di Woodall che è primo; ad esempio W(2) uguale a sette e W(3) uguale a ventitré sono primi, mentre W(4) uguale a sessantatré è composto. Famiglie correlate come i numeri di Mersenne due alla p meno uno e i numeri di Cullen n volte due alla n più uno rispondono a intenzioni di ricerca distinte anche quando l’aritmetica sembra simile; conviene mantenerle in pagine SEO separate piuttosto che sovraccaricare un generatore di Woodall.
Poiché la formula è un’unica espressione chiusa, l’algoritmo è pienamente deterministico: lo stesso n produce sempre la stessa stringa decimale, senza chiamate di rete, senza bit casuali e senza dipendenza dall’orologio di parete.
Dove un generatore di numeri di Woodall risulta utile
I programmatori di gare e i preparatori di olimpiadi usano piccoli termini di Woodall come riscaldamento prima di problemi più difficili di aritmetica modulare o primalità, e hanno bisogno di un oracolo deterministico da cui gli studenti non possano divergere accidentalmente rispetto a una formula di foglio di calcolo che va in overflow. I taccuini di ricerca che tabellano primi di Woodall o confrontano le famiglie Woodall e Cullen possono ottenere stringhe esatte di W(n) senza mantenere a mano grandi costanti.
Mantenga le richieste entro il tetto di indice pubblicato, documenti che n è un intero positivo che parte da uno e tratti woodall come campo di risposta canonico per i controlli automatici. Se in seguito ha bisogno di controlli di Mersenne, numeri di Cullen o primalità generale di un intero arbitrario, li tratti come intenzioni di ricerca separate piuttosto che sovraccaricare questa pagina incentrata su Woodall.
Casi d'uso
Compiti e riscaldamenti da olimpiade
Calcoli W(n) = n · 2^n − 1 per indici di classe e verifichi valori decimali esatti rispetto alle tabelle del libro senza sorprese di overflow.
Domande frequenti
Cos’è un numero di Woodall?
Un numero di Woodall è un intero della forma W(n) = n · 2^n − 1 per un indice intero positivo n. La successione inizia 1, 7, 23, 63, 159, … e cresce in modo esponenziale con n.
n inferiore a 1 causa un errore?
Il generatore accetta solo indici interi positivi da 1 a 10,000 inclusi.
Come si calcola W(n)?
In modo esatto con BigInt: si sposta 1 a sinistra di n bit per ottenere 2^n, si moltiplica per n e si sottrae 1. Il risultato è restituito come stringa decimale completa così i termini grandi non perdono precisione.
Il risultato è deterministico?
Non c’è casualità, chiamata di rete né modello: solo aritmetica intera esatta.
Quanto costa?
Lo strumento browser è gratuito e viene eseguito in locale.
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/woodall-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":5}'const res = await fetch("https://api.kit.forhosting.com/numth/woodall-number", {
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/numth/woodall-number",
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/numth/woodall-number", 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/numth/woodall-number", 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": "numth.woodall_number",
"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
Gli indici inferiori a uno vengono rifiutati con invalid_input affinché correttori e script non trattino mai zero né posizioni negative come termini validi della successione.
Cosa sono i numeri di Woodall e come è definito W(n)
Questo endpoint non afferma la primalità: restituisce il valore esatto di W(n), così i compiti che chiedono solo il termine della successione restano separati dalle pagine di ricerca di primalità.
Contratto di input, campi di risposta e errori
I valori inferiori a uno — incluso lo zero e ogni indice negativo — falliscono con un messaggio chiaro che l’indice di Woodall deve essere almeno uno; tali fallimenti di validazione non vengono addebitati. Controlli di cui Lei può fidarsi senza aprire un manuale: n uguale a uno produce woodall uno; n uguale a due produce sette; n uguale a tre produce ventitré; n uguale a cinque produce centocinquantanove; n uguale a zero fallisce la validazione. Invii un corpo JSON con un unico campo obbligatorio n: un intero positivo maggiore o uguale a uno, come numero JSON o come stringa di cifre decimali, al massimo diecimila. Gli alias index e order sono accettati con lo stesso significato. n mancante, stringhe vuote, non interi, numeri non finiti e valori oltre il massimo falliscono con invalid_input indicando il problema. In caso di successo il corpo ripete n, fornisce woodall come stringa decimale completa di n per due alla n meno uno, decimal_digits come lunghezza in caratteri di quella stringa, e formula come la breve identità W(n) uguale a n per due alla n meno uno. Restituire woodall come stringa anziché come numero JSON protegge i client quando il valore supera l’intervallo degli interi sicuri di JavaScript, cosa che accade già per n modesti. Il prezzo API è la base pubblicata di $0.002 per elemento riuscito; la validazione fallita non consuma saldo.
Dove un generatore di numeri di Woodall risulta utile
Poiché la capacità è un motore parse puro, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello né rete in uscita, la validazione fallita non consuma saldo e l’algoritmo è un solo spostamento e moltiplicazione BigInt.
Casi di integrazione
Fixture deterministici per demo di teoria dei numeri
Generi stringhe decimali woodall stabili e conteggi di cifre per diapositive, test unitari e documentazione senza mantenere a mano grandi costanti.
Termini della successione di Woodall adatti alle pipeline
Chiami lo stesso contratto isomorfo da script e CI affinché le asserzioni sui valori di Woodall non dipendano da un modulo web occasionale né da un modello linguistico.