Gerador de números de Fermat
Digite um índice e veja o número de Fermat 2^(2^n)+1 por extenso: o índice 0 dá 3 e o 4 dá 65537. O resultado vem com a quantidade de dígitos e o expoente 2^n, para aulas de teoria dos números e treinos de olimpíada. 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
- 0
- Número de Fermat
- 3
- Dígitos decimais
- 1
- Expoente
- 1
Pierre de Fermat estudou os primeiros valores e conjecturou que todo F_n é primo; essa conjectura falha em n igual a cinco, onde F_5 vale quatro bilhões duzentos e noventa e quatro milhões novecentos e sessenta e sete mil duzentos e noventa e sete e se fatora, mas a sequência permanece central em teoria dos números, polígonos construtíveis e testes de pseudoprimalidade. Este gerador recebe um índice inteiro não negativo n, devolve a expansão decimal completa de F_n como string, informa quantos dígitos esse valor tem e ecoa o expoente intermediário dois a n para que você veja a torre sem recalcular.
O que são números de Fermat e como F_n é definido
Um número de Fermat fica completamente determinado por um único índice inteiro não negativo n: F_n é igual a dois elevado à potência dois-a-n, mais um. Expandindo os primeiros índices obtém-se a tabela clássica que os estudantes memorizam: F_0 vale três, F_1 vale cinco, F_2 vale dezessete, F_3 vale duzentos e cinquenta e sete e F_4 vale sessenta e cinco mil quinhentos e trinta e sete. Esses cinco valores são todos primos, por isso Fermat esperava que todo termo posterior também o fosse.
Euler mostrou que F_5 é composto, e todo número de Fermat posterior que já foi totalmente fatorado também o é; ninguém provou que só os cinco primeiros são primos, mas o padrão conhecido torna a sequência um ponto fixo permanente dos cursos elementares de teoria dos números e de algoritmos que precisam de uma família esparsa de inteiros quase coprimos entre si.
Como o expoente é uma potência pura de dois, os números de Fermat sucessivos crescem de forma duplamente exponencial: cada passo aproximadamente dobra o comprimento em bits do termo anterior. A definição nunca precisa de primalidade, fatoração ou testes probabilísticos — só potenciação exata e uma adição. Dado n, o motor calcula exponent igual a dois a n, forma F_n como um deslocado à esquerda por esse expoente mais um, converte o BigInt em string e informa a contagem de dígitos.
Onde a geração de números de Fermat aparece no trabalho real
Programadores de competição e treinadores de olimpíada usam valores pequenos de Fermat como aquecimento antes de problemas mais difíceis de aritmética modular, e precisam de um oráculo determinístico do qual os alunos não possam divergir acidentalmente por uma fórmula de planilha que estoura. Engenheiros de criptografia e de sistemas às vezes precisam de primos de Fermat conhecidos como F_4 igual a sessenta e cinco mil quinhentos e trinta e sete ao discutir polígonos regulares construtíveis ou o folclore histórico de parâmetros RSA, sem atribuir força criptográfica ao número sozinho.
Se mais tarde precisar de números de Mersenne, testes de primalidade ou fatoração de um composto geral, trate-os como intenções de busca separadas em vez de sobrecarregar esta landing centrada em Fermat. Números de Fermat continuam sendo a página certa quando a pergunta é quanto vale dois à dois-a-n mais um para um índice não negativo n dado.
Perguntas frequentes
n negativo causa erro?
Neste gerador os números de Fermat F_n são definidos para n ≥ 0, e o intervalo suportado é de 0 a 16 inclusive.
Como F_n é calculado aqui?
O resultado é devolvido como string decimal para que valores grandes nunca percam precisão.
O resultado é determinístico?
Não há aleatoriedade, chamada de rede nem modelo envolvido — apenas potenciação e adição com BigInt.
Quanto custa?
A ferramenta do navegador é gratuita e roda localmente.
Todos os números de Fermat são primos?
Não. Os cinco primeiros, de F_0 (3) a F_4 (65537), são primos, e por isso Fermat conjecturou que todos seriam, mas F_5, que vale 4294967297, é composto. Esta ferramenta gera o valor e não verifica se ele é primo.
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/fermat-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":4}'const res = await fetch("https://api.kit.forhosting.com/numth/fermat-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/fermat-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/fermat-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/fermat-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": 4
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.fermat_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
Números de Fermat são os inteiros F_n = 2 elevado à potência de 2 elevado a n, mais um — de forma compacta, dois à dois-a-n mais um. Índices negativos são rejeitados com invalid_input. O mesmo caminho puro com BigInt roda grátis no navegador e na API pré-paga a US$ 0,002 por item bem-sucedido, sem rede, sem deriva de modelo e com acordo bit a bit entre demos interativas e testes automatizados.
O que são números de Fermat e como F_n é definido
Esse crescimento explica por que esta ferramenta devolve o valor como string decimal e não como número IEEE em ponto flutuante, e por que o intervalo de índices suportado para em dezesseis para o trabalho com BigInt caber nos orçamentos de tempo de Worker e navegador.
Contrato de entrada, respostas de sucesso e modos de falha
Envie um campo inteiro obrigatório n. O valor deve ser um inteiro de zero a dezesseis inclusive. Decimais, campos vazios, strings não numéricas e valores acima do índice máximo também falham na validação e não são cobrados. Verificações pontuais em que você pode confiar sem abrir um livro: n igual a zero produz fermat três e um dígito; n igual a quatro produz sessenta e cinco mil quinhentos e trinta e sete; n igual a cinco produz quatro bilhões duzentos e noventa e quatro milhões novecentos e sessenta e sete mil duzentos e noventa e sete; n igual a menos um falha na validação. Os aliases index e k são aceitos para que formulários, query strings e clientes SDK reutilizem um único contrato sem renomear cada payload. Um n negativo falha com invalid_input e uma mensagem de que números de Fermat não são definidos para índices negativos — essa é a regra de produto que esta capacidade aplica, alinhada ao domínio matemático da sequência clássica. No sucesso o JSON informa n, fermat como a string decimal completa de dois à dois-a-n mais um, decimal_digits como o comprimento dessa string, exponent igual a dois elevado a n, e formula como uma string curta de exibição do tipo dois caret parêntese-aberto dois caret n parêntese-fechado mais um. O preço da API é a base publicada de US$ 0,002 por item bem-sucedido; validação falha não consome saldo.
Onde a geração de números de Fermat aparece no trabalho real
Como a capacidade é um motor parse puro, o mesmo n sempre produz o mesmo JSON sem dependência de rede e sem estado armazenado. Use o executor gratuito do navegador para lição de casa e exploração, e depois chame a API a partir de scripts e integração contínua quando precisar de geração em massa com saldo pré-pago.
Casos de integração
Lição de casa e aquecimentos de olimpíada
Calcule F_n = 2^(2^n)+1 para índices de sala de aula e verifique expansões decimais e contagens de dígitos contra uma chave de respostas determinística.
Fixtures determinísticas para demos de inteiros grandes
Gere campos fermat e decimal_digits estáveis para slides, testes unitários e documentação sem manter à mão strings enormes de potências de dois.
Valores de Fermat prontos para pipelines
Chame o mesmo contrato isomorfo a partir de scripts e CI para que asserções sobre números de Fermat nunca dependam de um formulário web casual nem de um modelo de linguagem.
Perguntas técnicas
O que é um número de Fermat?
Um número de Fermat é um inteiro da forma F_n = 2^(2^n) + 1 para um índice inteiro não negativo n. Os cinco primeiros (n = 0 a 4) são os primos conhecidos 3, 5, 17, 257 e 65537.