ForHosting KIT · Matemática

Código Fibonacci

Transforme qualquer inteiro positivo no seu código Fibonacci: 6 vira 10011, formado pelas parcelas 1 e 5. Todo código termina em 11, então vários códigos seguidos se separam sem indicar tamanhos: útil em exercícios de compressão e no projeto de protocolos. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
N
6
Você obtém
Código de Fibonacci
10011
Comprimento em bits
5
Termos de Zeckendorf
1, 5

A codificação Fibonacci é um código binário universal que associa a cada inteiro positivo uma string de bits única que sempre termina em dois uns consecutivos. A construção usa o teorema de Zeckendorf: todo inteiro positivo é a soma de números de Fibonacci não consecutivos da sequência que começa em um, dois, três, cinco, oito, e assim por diante. Coloque um um para cada parcela, um zero para cada termo da base omitido a partir de F dois, e acrescente um bit terminador final para o código terminar em onze. Estudantes de teoria da informação, tarefas de compressão e projetistas de protocolos que precisam de codificação auto-delimitada de inteiros usam este conversor para conferir exemplos sem montar a tabela de Fibonacci à mão.

O que é a codificação Fibonacci e por que termina em 11

A codificação Fibonacci pertence à família de códigos universais para inteiros positivos: todo n maior ou igual a um recebe uma palavra binária, e nenhuma palavra-código é prefixo de outra, de modo que um fluxo de códigos pode ser analisado sem prefixos de comprimento. O fato matemático central é o teorema de Zeckendorf.

Usando a sequência de Fibonacci escrita como F dois igual a um, F três igual a dois, F quatro igual a três, F cinco igual a cinco, e assim por diante (a sequência usual sem a primeira duplicação do um), todo inteiro positivo tem uma representação única como soma de termos não consecutivos dessa sequência. A codificação coloca um bit sob cada valor da base de F dois até a maior parcela que aparece: o bit é um quando aquele número de Fibonacci é usado e zero caso contrário.

Como Zeckendorf proíbe dois uns consecutivos nos bits da base, o bit mais alto usado é sempre um e nunca é seguido de outro um dentro da base. Acrescentar um único um terminador produz, portanto, um final distintivo de dois uns consecutivos. Esse padrão é o sinal de parada do decodificador: leia bits até ver onze, remova o um final e recupere a soma de Zeckendorf.

Valores clássicos pequenos tornam o padrão concreto. Um codifica-se como onze, dois como zero um um, três como zero zero um um, quatro como um zero um um, cinco como zero zero zero um um e seis como um zero zero um um. Um n maior apenas estende a tabela de Fibonacci até o maior Fk no máximo n, executa a seleção gulosa de cima e emite a mesma string terminada.

O comprimento do código cresce como O do logaritmo na base phi de n, de modo que mesmo inteiros seguros grandes permanecem strings de bits curtas adequadas a demos, vetores de teste e slides sobre códigos de inteiros livres de prefixo.

Onde a codificação Fibonacci é útil

Cursos de teoria da informação e compressão usam a codificação Fibonacci como código universal concreto ao lado de Elias gamma e delta; um conversor ao vivo permite que os estudantes confiram codificações de tarefa para inteiros positivos arbitrários sem montar uma planilha de Fibonacci a cada vez. Programação competitiva e blogs de algoritmos que discutem representações de Zeckendorf, sistemas de numeração Fibonacci ou fluxos auto-delimitados precisam de um oráculo determinístico que devolva a string de bits e as parcelas para testes unitários.

Projetistas de protocolos que avaliam codificações de inteiros de comprimento variável podem comparar comprimentos do código Fibonacci com esquemas de largura fixa e no estilo LEB128 em sequências de ID de amostra antes de fixar um formato de fio. Validação falha não consome saldo.

Conferência de tarefas de teoria da informação

Os estudantes codificam à mão inteiros positivos com tabelas de Zeckendorf e verificam o código Fibonacci binário (sempre terminado em 11) perante um oráculo determinístico.

Demos de compressão e códigos universais

Materiais de aula comparam o comprimento da codificação Fibonacci com códigos de Elias em inteiros de amostra e mostram o padrão terminador que torna o fluxo livre de prefixo.

Como converto um número para código Fibonacci?

Envie um inteiro positivo n (n ≥ 1).

Por que todo código Fibonacci termina em 11?

Os bits de Zeckendorf nunca terminam em dois uns consecutivos; um terminador 1 é acrescentado após o bit de base mais alto (sempre 1), produzindo o padrão de parada 11 distintivo para decodificação única.

O que acontece se n for zero ou negativo?

A codificação Fibonacci só está definida para inteiros positivos (n ≥ 1), e solicitações inválidas não são cobradas.

Qual sequência de Fibonacci o codificador usa?

A seleção gulosa produz a expansão de Zeckendorf única sem termos consecutivos.

Qual é o código Fibonacci de 12?

12 é codificado como 101011. As parcelas de Zeckendorf são 1, 3 e 8, que somam 12, e o 1 final acrescentado forma o 11 de fechamento que marca onde o código termina.

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.

POSThttps://api.kit.forhosting.com/numth/fibonacci-coding

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/numth/fibonacci-coding \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"n":6}'
{
  "n": 6
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.fibonacci_coding",
  "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.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

O mesmo algoritmo puro alimenta a ferramenta gratuita do navegador e o caminho de API pago, de modo que um exemplo áureo de sala de aula coincide byte a byte com a automação de produção, sem modelo e sem rede dentro do solucionador.

Contrato de entrada, campos de resposta e erros

Exemplo: n igual a um produz o código mínimo onze com um único termo de Zeckendorf igual a um. Exemplo: n igual a doze produz um zero um zero um um com parcelas um, três e oito. Clientes que só precisam da string de bits podem ignorar os campos didáticos; corretores e notebooks podem afirmar o código e as parcelas para capturar erros de deslocamento na tabela manual do aluno. Envie por POST um corpo JSON com um único campo obrigatório n: um inteiro positivo maior ou igual a um. O valor pode chegar como número JSON dentro do intervalo de inteiros seguros ou como string de dígitos que se normaliza ao mesmo intervalo. n ausente, strings vazias, não inteiros, valores não finitos, zero e qualquer número negativo falham com invalid_input e não são cobrados. Em caso de sucesso a resposta ecoa n, devolve fibonacci_code como a string binária que sempre termina em onze, informa bit_length como o comprimento em caracteres dessa string, lista zeckendorf_terms como as parcelas de Fibonacci em ordem crescente que somam de novo n, e inclui uma fórmula curta que reafirma a construção para exibição ao lado da resposta. Exemplo: n igual a seis produz fibonacci_code um zero zero um um, bit_length cinco e zeckendorf_terms um e cinco, porque cinco mais um é seis e os bits da base de F dois a F cinco são um, zero, zero, um antes do terminador. A implementação é parse pura de nível A: sem rede de saída, sem aleatoriedade e sem dependência do relógio, de modo que o mesmo n sempre produz o mesmo payload e é seguro fixá-lo em testes áureos automatizados.

Onde uma API de codificação Fibonacci agrega valor

Como cada chamada bem-sucedida é um item faturável a US$ 0,002 com custo analítico bem abaixo desse piso, a capacidade permanece barata para scripts de correção em lote e workers na borda.

Vetores de teste para ferramentas Zeckendorf

Scripts que implementam numeração Fibonacci ou IDs auto-delimitados podem fixar fibonacci_code e zeckendorf_terms para muitos n sem embutir uma segunda implementação.

Quanto custa o conversor de código Fibonacci?

A ferramenta do navegador é gratuita. Solicitações API usam saldo KIT pré-pago a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.

Ver a documentação completa do KIT →