Contagem de termos de fração egípcia
Pelo método guloso, 3/4 vira 1/2 + 1/4, então precisa de 2 frações unitárias. Digite uma fração própria e receba o número de termos e cada denominador unitário em ordem, para conferir cada passo. 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
- Numerador
- 3
- Denominador
- 4
- Fração
- 3/4
- Quantidade de termos
- 2
- Denominadores unitários
- 2, 4
Frações egípcias escrevem um racional como soma de frações unitárias distintas—frações cujo numerador é um. O método guloso clássico, muitas vezes chamado algoritmo de Fibonacci–Sylvester, sempre retira a maior fração unitária que não excede o resto e repete até zerar o valor. Esta capacidade aceita uma fração própria positiva numerador sobre denominador, executa essa expansão determinística e devolve o número de termos unitários junto com a lista ordenada de denominadores unitários para você conferir cada passo.
O que é uma expansão gulosa de fração egípcia
Uma representação em fração egípcia de um racional positivo é uma soma finita de frações unitárias distintas, como um meio mais um terço mais um sétimo. A matemática egípcia antiga registrou muitos racionais assim, e a teoria dos números moderna ainda estuda expansões mínimas, expansões gulosas e questões diofantinas relacionadas.
O algoritmo guloso é definido de forma única: dado um resto r igual a a sobre b com a maior que zero, escolha o menor inteiro k tal que um sobre k seja menor ou igual a r, ou seja k igual ao teto de b dividido por a. Subtraia um sobre k de r para obter um novo resto próprio, reduza pelo máximo divisor comum e repita.
Para três quartos a primeira fração unitária é um meio, o resto é um quarto e a segunda é um quarto, de modo que a contagem de termos é dois. Para três sétimos os passos gulosos produzem um terço, um undécimo e um duzentos e trinta e um, logo a contagem é três. Frações unitárias já irredutíveis, como um quinto, expandem-se em um único termo.
O algoritmo é plenamente determinístico: sem escolhas aleatórias, sem tolerâncias de ponto flutuante e sem tabelas externas. Esta página informa o comprimento dessa expansão gulosa canônica—a contagem de termos—mais os denominadores unitários produzidos no caminho, quantidade que chaves de lição de casa e competições de programação mais precisam quando perguntam quantas parcelas egípcias o método guloso usa.
Casos de uso
Gabaritos de lição de casa e fichas
Expanda frações próprias com o método guloso e confira quantas frações unitárias distintas os alunos devem listar em cada problema.
Ensinar o algoritmo de Fibonacci–Sylvester
Demonstre os passos de teto em frações como 3/4 e 3/7, mostrando o comprimento e os denominadores unitários ordenados.
Perguntas frequentes
O que acontece se o numerador ou o denominador não for positivo?
Ambos os campos devem ser inteiros positivos; zero e valores negativos são rejeitados e não cobrados.
Isto encontra a expansão egípcia mais curta?
Não. Devolve apenas o comprimento da expansão gulosa clássica (Fibonacci–Sylvester). Expansões mínimas podem diferir e exigem outra busca.
Quantos termos 3/4 precisa?
Dois. A maior fração unitária que não passa de 3/4 é 1/2, o que deixa 1/4, que já é unitária. Assim, 3/4 = 1/2 + 1/4.
Como o método guloso escolhe cada fração unitária?
A cada passo ele pega a maior fração unitária que não passa do que resta: divide o denominador pelo numerador e arredonda para cima. Depois subtrai essa fração, simplifica o resto e repete até zerar.
Posso digitar uma fração maior que um?
Não. Só frações próprias são aceitas, ou seja, com o numerador menor que o denominador e ambos positivos. Qualquer outra entrada é recusada com uma mensagem clara.
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/egyptian-fraction-length \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"numerator":3,"denominator":4}'const res = await fetch("https://api.kit.forhosting.com/numth/egyptian-fraction-length", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"numerator": 3,
"denominator": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/egyptian-fraction-length",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"numerator": 3,
"denominator": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/egyptian-fraction-length", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"numerator":3,"denominator":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"numerator":3,"denominator":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/egyptian-fraction-length", 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
{
"numerator": 3,
"denominator": 4
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.egyptian_fraction_length",
"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
Estudantes, tutores e scripts recreativos de teoria dos números obtêm a mesma resposta na ferramenta gratuita do navegador e na API pré-paga a US$ 0,002 por chamada bem-sucedida. Numeradores ou denominadores não positivos, e frações impróprias, falham com invalid_input e nunca são cobrados.
Contrato de entrada, campos de resposta e regras de validação
Se o numerador for maior ou igual ao denominador, a requisição também é rejeitada porque a ferramenta só expande frações próprias (entradas impróprias exigem que o chamador separe antes a parte inteira). A aritmética intermediária usa inteiros grandes com redução por gcd para denominadores de sala de aula permanecerem exatos. Restos patológicos que forçariam mais de dez mil termos ou crescimento absurdo de dígitos são rejeitados em vez de travar o worker. Envie um corpo JSON com dois inteiros positivos obrigatórios: numerator e denominator de uma fração própria, de modo que o numerador seja estritamente menor que o denominador e ambos positivos. Os aliases a e num mapeiam para numerator; b e den para denominator. Cada campo pode chegar como número JSON ou como string só de dígitos; os valores devem ser inteiros inteiros dentro do limite publicado de um milhão. Se faltar um campo, não for inteiro, for zero ou negativo, a tarefa falha com invalid_input nomeando a regra violada—incluindo explicitamente o caso não positivo exigido pelo contrato do produto. No sucesso o corpo ecoa numerator e denominator, uma string de exibição fraction, term_count como o número de frações unitárias gulosas e unit_denominators como a sequência de valores k de cada passo. O preço é um US$ 0,002 fixo por requisição bem-sucedida; falhas de validação não consomem saldo.
Onde contagens de termos ajudam estudo, competições e automação
Aulas sobre sistemas de numeração históricos costumam pedir que alunos expandam à mão algumas frações próprias e contem as parcelas. Prática de competições de programação e problemas no estilo Project Euler frequentemente exigem expansões egípcias gulosas; comparar sua implementação com este oráculo captura erros de teto por um e reduções gcd falhas. Se você precisar da representação egípcia mais curta possível em vez da gulosa, isso é outro problema de busca combinatória; esta ferramenta responde apenas à pergunta clássica de comprimento guloso. Uma API determinística de contagem de termos de fração egípcia permite a professores publicar gabaritos e corretores automáticos sem reescrever expansões para cada variante de folha. Como a capacidade é parse pura tier A, cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo e sem rede de saída. Mantenha entradas próprias e dentro dos limites, fixe term_count e unit_denominators nos testes e obtenha comprimentos reproduzíveis para lição de casa, plugins LMS e workers de borda sem levantar um sistema de álgebra computacional.
Casos de integração
Testes de regressão em competições e bibliotecas
Compare sua implementação de frações egípcias com um oráculo determinístico de term_count e unit_denominators para entradas fixas.
Perguntas técnicas
Como se contam os termos de uma fração egípcia com o método guloso?
Envie inteiros positivos numerator e denominator com numerator estritamente menor que denominator. A API retira k = ceil(denominator/numerator) repetidamente e devolve term_count mais a lista de denominadores unitários.
O que uma resposta bem-sucedida inclui?
numerator, denominator, fraction como string de exibição, term_count e unit_denominators—os valores k ordenados de cada passo guloso.
Quanto custa a ferramenta de contagem de termos de fração egípcia?
A ferramenta do navegador é gratuita. Requisições API usam saldo KIT pré-pago a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.