ForHosting KIT · Ferramentas para dev

Calculadora de expansão de Engel para frações

Esta calculadora de expansão de Engel converte qualquer número racional positivo em sua representação exata como soma de produtos.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Informe uma fração, como 4/13, e receba a sequência não decrescente de denominadores de Engel, os termos de frações unitárias correspondentes e uma versão normalizada da entrada. Todos os cálculos usam aritmética de inteiros, portanto aproximações de dízimas periódicas e arredondamentos de ponto flutuante não alteram o resultado. A ferramenta é útil para estudar teoria dos números, preparar exemplos resolvidos, conferir cálculos simbólicos e criar testes de software reproduzíveis.

O que uma expansão de Engel representa

Uma expansão de Engel escreve um número real positivo como uma soma cujos denominadores são produtos acumulados. Se a lista retornada for a1, a2, a3, o valor representado será 1/a1 + 1/(a1 a2) + 1/(a1 a2 a3), e o mesmo padrão continuará em cada entrada posterior. Para uma entrada racional positiva, o processo termina; assim, a calculadora retorna uma lista e uma expressão finitas. Os denominadores não diminuem, característica que confere à representação sua estrutura ordenada. Ela difere de uma decomposição comum em frações egípcias: ambas usam frações unitárias, porém a expansão de Engel condiciona cada novo termo ao produto de todos os denominadores já escolhidos. A saída inclui a lista bruta, conveniente para matemática ou programação, e os termos desenvolvidos da soma de produtos, que facilitam a inspeção do valor. A fração é reduzida primeiro, portanto entradas equivalentes como 8/26 e 4/13 produzem a mesma fração normalizada e a mesma expansão.

Como o algoritmo exato funciona

O cálculo começa com o valor racional positivo atual p/q e escolhe o próximo denominador como o teto de q/p. Essa escolha usa divisão inteira, sem converter a fração em decimal. Em seguida, o resíduo é transformado pela recorrência de Engel: p é substituído por a vezes p menos q, q é mantido e a fração resultante é reduzida pelo máximo divisor comum. Quando o novo numerador chega a zero, a expansão está concluída; caso contrário, as etapas se repetem. Como numeradores, denominadores, tetos, produtos e reduções usam inteiros de precisão arbitrária, a resposta permanece exata mesmo se os valores excederem o intervalo inteiro seguro do JavaScript. A implementação rejeita texto malformado, zero, valores negativos e denominador nulo, em vez de tentar adivinhar a intenção. O tamanho da entrada e a extensão da expansão também têm limites para garantir uma execução previsível. Essas regras tornam o resultado determinístico no navegador e na API: a mesma fração válida sempre gera os mesmos dados matemáticos.

Como ler e aproveitar o resultado

Comece pelo campo de denominadores quando precisar da sequência canônica de Engel. Os itens são strings para preservar com exatidão inteiros muito grandes em sistemas JSON que não representam todos os números com segurança. O campo de comprimento informa quantos denominadores e, consequentemente, quantos termos de fração unitária existem. O campo da expansão multiplica cumulativamente os denominadores selecionados e apresenta cada recíproco, permitindo que você confira a soma de forma independente com aritmética racional. Em aulas, compare cada denominador escolhido com a regra do teto e calcule o resíduo após cada etapa. Em testes de software, use a fração normalizada e o array de denominadores como resultados estáveis, inclusive com entradas equivalentes não reduzidas para verificar a normalização. Esta capacidade aceita apenas frações positivas; ela não calcula uma expansão infinita de decimal irracional, não interpreta números mistos e não aproxima valores de ponto flutuante. Pela API, cada solicitação custa US$ 0,002. O navegador e a API compartilham o mesmo solucionador puro.

Conferir um exercício de teoria dos números

Compare uma sequência de Engel obtida à mão com o resultado exato e examine os termos de produtos acumulados.

Criar vetores de teste determinísticos

Gere resultados esperados estáveis para bibliotecas de aritmética racional sem depender de aproximações de ponto flutuante.

Demonstrar representações racionais

Mostre como a recorrência do teto transforma uma fração positiva em uma expansão ordenada como soma de produtos.

Qual formato de entrada é aceito?

Use dois inteiros positivos em base 10 separados por uma barra, como 4/13. Espaços ao redor e um sinal de mais opcional são aceitos.

Posso informar zero ou uma fração negativa?

Não. Uma entrada com numerador ou denominador não positivo retorna um erro de entrada inválida.

Por que os denominadores são retornados como strings?

As strings preservam exatamente os inteiros de precisão arbitrária quando o resultado é codificado como JSON.

Isso é igual a uma expansão em frações egípcias?

Não exatamente. Os termos de Engel têm denominadores formados pelos produtos acumulados de uma sequência não decrescente, uma restrição estrutural adicional.

A calculadora usa aproximações decimais?

Não. A análise, os tetos, as reduções por máximo divisor comum e os produtos usam aritmética inteira exata.

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/engel-expansion

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/engel-expansion \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"fraction":"4/13"}'
{
  "fraction": "4/13"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.engel_expansion",
  "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.

Ver a documentação completa do KIT →