Gerador de números de Woodall
O quinto número de Woodall é 5 × 2⁵ − 1 = 159, um número de 3 algarismos. Digite uma posição positiva para obter o número de Woodall exato e quantos algarismos ele tem, mesmo quando o valor é enorme. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- N
- 5
- Número de Woodall
- 159
- Dígitos decimais
- 3
Um número de Woodall é um inteiro da forma especial W(n) igual a n vezes dois elevado a n, menos um, onde n é um índice inteiro positivo. A sequência começa em um, sete, vinte e três, sessenta e três, cento e cinquenta e nove, e cresce de forma exponencial por causa do fator dois à n, de modo que termos grandes exigem aritmética de precisão arbitrária em vez de ponto flutuante. Os números de Woodall ficam ao lado dos de Cullen nas tabelas clássicas de teoria dos números: Cullen usa n vezes dois à n mais um, enquanto Woodall troca o termo constante por menos um. Estudantes, treinadores de olimpíada e autores de conteúdo precisam de um oráculo determinístico que devolva a expansão decimal exata para um índice seguro arbitrário sem manter à mão strings enormes. Esta capacidade aceita um inteiro positivo n, calcula W(n) com aritmética BigInt exata e devolve o valor decimal completo junto com a contagem de dígitos e uma fórmula curta.
O que são números de Woodall e como W(n) é definido
Allan Joseph Champneys Cunningham e H. J. Woodall estudaram inteiros da forma n vezes uma potência de dois, mais ou menos um, e a família W(n) igual a n vezes dois à n menos um é universalmente chamada de sequência de Woodall.
Os primeiros termos bastam para checagens em sala: W(1) é um vezes dois menos um, ou seja um; W(2) é dois vezes quatro menos um, ou seja sete; W(3) é três vezes oito menos um, ou seja vinte e três; W(4) é quatro vezes dezesseis menos um, ou seja sessenta e três; W(5) é cinco vezes trinta e dois menos um, ou seja cento e cinquenta e nove.
Depois os valores crescem rápido: W(10) já tem quatro dígitos e W(100) tem trinta e dois, de modo que qualquer calculadora séria deve usar deslocamentos de bits inteiros em vez de floats de dupla precisão. Um primo de Woodall é simplesmente um número de Woodall que é primo; por exemplo W(2) igual a sete e W(3) igual a vinte e três são primos, enquanto W(4) igual a sessenta e três é composto.
Famílias relacionadas como números de Mersenne dois à p menos um e números de Cullen n vezes dois à n mais um respondem a intenções de busca distintas mesmo quando a aritmética parece parecida; convém mantê-las em páginas SEO separadas em vez de sobrecarregar um gerador de Woodall. Como a fórmula é uma única expressão fechada, o algoritmo é plenamente determinístico: o mesmo n produz sempre a mesma string decimal, sem chamadas de rede, sem bits aleatórios e sem dependência do relógio de parede.
Onde um gerador de números de Woodall é útil
Programadores de competição e treinadores de olimpíada usam termos pequenos de Woodall como aquecimento antes de problemas mais difíceis de aritmética modular ou primalidade, e precisam de um oráculo determinístico do qual os alunos não possam divergir acidentalmente de uma fórmula de planilha que estoura. Cadernos de pesquisa que tabulam primos de Woodall ou comparam as famílias Woodall e Cullen podem obter strings exatas de W(n) sem manter à mão constantes enormes.
Mantenha as requisições dentro do limite de índice publicado, documente que n é um inteiro positivo começando em um e trate woodall como o campo canônico de resposta para checagens automáticas. Se mais tarde você precisar de checagens de Mersenne, números de Cullen ou primalidade geral de um inteiro arbitrário, trate-os como intenções de busca separadas em vez de sobrecarregar esta landing focada em Woodall.
Casos de uso
Tarefas e aquecimentos de olimpíada
Calcule W(n) = n · 2^n − 1 para índices de sala e verifique valores decimais exatos frente a tabelas do livro sem surpresas de overflow.
Perguntas frequentes
O que é um número de Woodall?
Um número de Woodall é um inteiro da forma W(n) = n · 2^n − 1 para um índice inteiro positivo n. A sequência começa 1, 7, 23, 63, 159, … e cresce de forma exponencial com n.
n abaixo de 1 causa erro?
O gerador só aceita índices inteiros positivos de 1 a 10,000 inclusive.
Como W(n) é calculado?
De forma exata com BigInt: desloque 1 à esquerda em n bits para obter 2^n, multiplique por n e subtraia 1. O resultado é devolvido como string decimal completa para que termos grandes nunca percam precisão.
O resultado é determinístico?
Não há aleatoriedade, chamada de rede nem modelo — apenas aritmética inteira exata.
Qual a diferença entre um número de Woodall e um número de Cullen?
Os dois multiplicam a posição por dois elevado a essa posição. O número de Cullen soma um ao resultado, enquanto o número de Woodall subtrai um.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"n": 5
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.woodall_number",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Índices abaixo de um são rejeitados com invalid_input para que corretores e scripts nunca tratem zero nem posições negativas como termos válidos da sequência.
O que são números de Woodall e como W(n) é definido
Este endpoint não afirma primalidade: devolve o valor exato de W(n), de modo que tarefas que pedem só o termo da sequência permanecem separadas de páginas de busca de primos.
Contrato de entrada, campos de resposta e erros
Valores abaixo de um —incluindo zero e todo índice negativo— falham com mensagem clara de que o índice de Woodall deve ser pelo menos um; essas falhas de validação não são cobradas. Checagens em que você pode confiar sem abrir um livro: n igual a um produz woodall um; n igual a dois produz sete; n igual a três produz vinte e três; n igual a cinco produz cento e cinquenta e nove; n igual a zero falha na validação. Envie um corpo JSON com um único campo obrigatório n: um inteiro positivo maior ou igual a um, como número JSON ou como string de dígitos decimais, no máximo dez mil. Os aliases index e order são aceitos com o mesmo significado. n ausente, strings vazias, não inteiros, números não finitos e valores acima do máximo falham com invalid_input nomeando o problema. Em sucesso o corpo ecoa n, fornece woodall como a string decimal completa de n vezes dois à n menos um, decimal_digits como o comprimento em caracteres dessa string, e formula como a identidade curta W(n) igual a n vezes dois à n menos um. Devolver woodall como string em vez de número JSON protege clientes quando o valor excede o intervalo de inteiros seguros do JavaScript, o que já ocorre com n modestos. O preço da API é a base publicada de US$ 0,002 por item bem-sucedido; validação falha não consome saldo.
Onde um gerador de números de Woodall é útil
Como a capacidade é um motor parse puro, cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo e sem rede de saída, validação falha não consome saldo, e o algoritmo é um único deslocamento e multiplicação BigInt.
Casos de integração
Fixtures determinísticos para demos de teoria dos números
Gere strings decimais woodall estáveis e contagens de dígitos para slides, testes unitários e documentação sem manter à mão constantes grandes.
Termos da sequência de Woodall para pipelines
Chame o mesmo contrato isomórfico a partir de scripts e CI para que asserções de valores de Woodall nunca dependam de um formulário web ocasional ou de um modelo de linguagem.
Perguntas técnicas
Quanto custa o gerador de números de Woodall?
O widget gratuito calcula W(n)=n·2^n−1 no próprio navegador. Chamadas API debitam o monedero KIT recarregável a US$ 0,002 por item bem-sucedido; validação rejeitada não gera cobrança.