Sequência de Sylvester
Cada termo da sequência de Sylvester é 1 mais o produto de todos os anteriores: 2, 3, 7, 43, 1807, e o termo da posição 5 é 3263443. Todos os dígitos ficam exatos, por maior que seja o número. 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
- Valor
- 3263443
- Sequência
- 2, 3, 7, 43, 1807, 3263443
A sequência de Sylvester é a sucessão inteira que começa em dois e depois constrói cada termo posterior como um mais o produto de todos os anteriores. De forma equivalente, cada sucessor satisfaz s sub k mais um igual a s sub k ao quadrado menos s sub k mais um, o que produz o prefixo familiar dois, três, sete, quarenta e três, mil oitocentos e sete, e assim por diante. A sequência cresce tão depressa que tipos de ponto flutuante ordinários e até inteiros de largura fixa falham em poucos passos, de modo que esta calculadora usa aritmética BigInt e devolve cada valor como string decimal que preserva cada dígito. Você fornece um índice inteiro não negativo n sob a convenção base zero em que n igual a zero devolve o primeiro termo dois; índices negativos são rejeitados com um erro de validação claro em vez de uma resposta errada silenciosa. Quando precisar de mais de um único termo, ative o sinalizador opcional list para receber o prefixo inteiro de s0 até sn como um array de strings decimais.
Como a sequência de Sylvester é definida e calculada
Usamos a indexação padrão base zero de Sylvester com s0 igual a dois. Cada termo posterior é definido de modo que s sub n é igual a um mais o produto de s0 até s sub n menos um. Essa regra de produto é exatamente equivalente à recorrência compacta s sub k mais um igual a s sub k vezes a quantidade s sub k menos um, mais um, que se reordena como s ao quadrado menos s mais um.
Sob essa regra s1 é três, s2 é sete, s3 é quarenta e três, s4 é mil oitocentos e sete, s5 é três milhões duzentos e sessenta e três mil quatrocentos e quarenta e três, e os termos seguintes explodem de forma duplamente exponencial. A implementação nunca aproxima com potências ou logaritmos em ponto flutuante; em vez disso percorre a recorrência com multiplicações BigInt do primeiro termo até n, o que garante que cada dígito seja exato mesmo quando o resultado tem milhares de casas decimais.
O caminho é plenamente determinístico —sem sementes aleatórias, sem relógios, sem rede e sem deriva de modelo—, de modo que o mesmo n sempre produz a mesma string e a mesma sequência opcional.
Onde os números de Sylvester aparecem no trabalho real
Cursos de teoria dos números apresentam a sequência de Sylvester como exemplo canônico de uma recorrência produto-mais-um e como fonte de inteiros coprimos dois a dois cujos recíprocos formam uma expansão gulosa em frações egípcias de um. Demos de produto, entrevistas de código e posts de blog sobre relações de recorrência costumam mostrar uma tabela curta de Sylvester ao lado do crescimento de Fibonacci ou fatorial; listar s0 até sn em uma única chamada mantém demos interativas honestas sem reimplementar o laço em cada linguagem.
Notas de pesquisa sobre frações egípcias, coprimalidade da sequência de Sylvester e crescimento duplamente exponencial se beneficiam de uma única implementação de referência compartilhada. Se mais tarde você precisar de termos de Sylvester modulares, certificados de mdc par a par ou expansões em frações egípcias de um racional, trate-os como intenções de busca separadas em vez de sobrecarregar o destino desta calculadora.
Perguntas frequentes
Como cada termo se relaciona com os anteriores?
Cada termo é igual a um mais o produto de todos os termos anteriores.
Por que value é uma string em vez de um número?
Os números de Sylvester crescem de forma duplamente exponencial e deixam quase imediatamente os inteiros seguros de JavaScript. Strings decimais preservam cada dígito exato.
O que acontece se n for negativo?
O índice de Sylvester n deve ser não negativo sob esta convenção.
Quanto custa?
A ferramenta do navegador é gratuita e roda localmente.
Posso receber todos os termos até n, e não só o último?
Sim. Ative a opção de listar a sequência e você recebe todos os termos do primeiro até a posição n. Para a posição 5 são 2, 3, 7, 43, 1807 e 3263443, cada um escrito por inteiro.
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/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)Exemplo de requisição
{
"n": 5
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.sylvester_sequence",
"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.
Limites
min_n | 0 |
max_n | 20 |
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
A ferramenta gratuita do navegador e a API paga compartilham uma única função pura, de modo que demos de sala e pipelines automatizados nunca divergem em silêncio.
Como a sequência de Sylvester é definida e calculada
Devolver o valor como string decimal mantém honestos os consumidores JSON: em s7 o número já tem vinte e sete dígitos, e em s10 tem centenas, muito além do intervalo de inteiros seguros dos números JavaScript ordinários. Os limites mantêm n entre zero e vinte inclusive para que a latência e a memória do pior caso sigam adequadas a uma ferramenta gratuita no navegador e a um caminho Worker leve, cobrindo ainda todo termo que você razoavelmente escreveria à mão ou mostraria em uma aula.
O que você envia e o que recebe de volta
O erro para um índice negativo declara que o índice de Sylvester deve ser não negativo para que clientes de formulário e scripts possam corrigir a entrada sem adivinhar. Em sucesso a resposta sempre inclui o n normalizado e value como o n-ésimo número de Sylvester exato escrito em decimal. Forneça um inteiro não negativo obrigatório sob o campo n, ou os aliases number ou index. O valor deve ser um inteiro de zero a vinte inclusive; campos ausentes, não inteiros, decimais e qualquer n abaixo de zero são rejeitados com invalid_input e não são cobrados. Opcionalmente defina list como true (aliases sequence e include_sequence são aceitos) para solicitar o prefixo completo s0 até sn. Quando list é true, a resposta também inclui sequence: um array de n mais um strings decimais começando com o termo zero, dois. Checagens de exemplo: n igual a zero produz value dois e, se listado, uma sequência de um único elemento; n igual a um produz value três; n igual a dois produz value sete; n igual a três produz value quarenta e três; n igual a cinco produz três milhões duzentos e sessenta e três mil quatrocentos e quarenta e três; um n negativo produz invalid_input. O contrato é JSON estável adequado a testes unitários, demos de sala e pipelines em lote. O preço de chamadas API bem-sucedidas é a base publicada de US$ 0,002 por item no saldo pré-pago KIT.
Onde os números de Sylvester aparecem no trabalho real
Equipes de dados e analytics ocasionalmente precisam de escadas inteiras super-exponenciais determinísticas para testes de estresse de serializadores de inteiros grandes, limites de tamanho JSON ou larguras de coluna de banco de dados; uma sequência de strings exatas evita erros de off-by-one entre bases de código base-0 e base-1 uma vez que a convenção esteja fixada na página de destino. Como esta capacidade é um motor de parse puro, o preço da API é a base publicada de US$ 0,002 por item bem-sucedido e validação falha não consome saldo.
Casos de integração
Fixtures de competições e lições
Gere strings exatas de Sylvester s(n) e prefixos opcionais s0..sn para problemas de olimpíada, exercícios de programação e gabaritos automáticos.
Ensinar o crescimento produto-mais-um
Mostre aos alunos a sequência duplamente exponencial como strings decimais para que termos grandes fiquem exatos e a convenção s0=2 fique visível, não abstrata.
Estresse de inteiros grandes e serializadores
Puxe inteiros super-exponenciais determinísticos para testes de JSON, bancos de dados e pipelines BigInt sem reimplementar a recorrência em cada serviço.
Perguntas técnicas
Qual indexação esta calculadora de Sylvester usa?
Base zero com s0 = 2. Depois s1 = 3, s2 = 7, s3 = 43, s4 = 1807, e assim por diante. Índices negativos são rejeitados.