Sequência das vacas de Narayana
Obtenha qualquer termo da sequência das vacas de Narayana do índice 0 ao 97: N(10) vale 28, porque cada termo soma o anterior com o de três posições atrás, 19 mais 9. 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
- 10
- Valor
- 28
- Sequência
- Narayana's cows
- Recorrência
- N(0)=N(1)=N(2)=1; N(n)=N(n-1)+N(n-3) for n>=3
A sequência das vacas de Narayana modela um rebanho em que cada vaca adulta gera um bezerro por ano, e os bezerros começam a se reproduzir após um intervalo. Na forma padrão indexada a partir de zero, os três primeiros termos são um; cada termo seguinte soma o anterior ao que está três posições atrás. Esta calculadora devolve um termo exato para um índice não negativo e informa a convenção e a recorrência usadas. Ela ajuda você a conferir exercícios, validar programas e evitar confusão com Fibonacci ou Padovan.
Entenda a sequência e a convenção de índices
Esta calculadora usa N(0)=1, N(1)=1 e N(2)=1. Para n>=3, vale N(n)=N(n-1)+N(n-3): cada novo valor combina o termo anterior com aquele de três posições atrás. O início é 1, 1, 1, 2, 3, 4, 6, 9, 13, 19 e 28.
Por exemplo, N(6)=N(5)+N(3)=4+2=6. Declarar as sementes é essencial, pois algumas fontes numeram os mesmos valores a partir de um. A resposta repete n e mostra a recorrência completa.
Índices negativos retornam erro de entrada inválida em vez de receber uma extensão não padronizada.
Envie um índice e leia a resposta
O resultado traz n normalizado, value com o número pedido, sequence com o nome e recurrence com as sementes e a regra. Uma string inteira como "10" vira 10. Frações, campos vazios, texto livre, negativos e valores acima do limite são rejeitados.
N(97) é o último termo dentro da faixa de inteiros seguros do JavaScript. O cálculo mantém três valores e faz no máximo 95 adições, sem baixar tabelas, chamar serviços externos ou usar modelos.
Use o resultado em aulas e testes
A sequência ajuda a mostrar como condições iniciais e deslocamentos definem uma recorrência. Você pode montar uma tabela com n, N(n-1), N(n-3) e N(n) e comparar cada linha. Em testes automáticos, confira também o índice e a regra para detectar implementações que produzem Padovan ou Fibonacci por somarem posições erradas.
Se outra fonte colocar os três uns nas posições um, dois e três, desloque a posição exibida antes da comparação. A ferramenta não oferece extensões negativas nem termos gigantes de precisão arbitrária.
Casos de uso
Confira um exercício de recorrência
Compare um termo calculado à mão com uma resposta exata que informa sementes, índice e regra.
Valide uma implementação
Use saídas conhecidas para testar laços, programação dinâmica ou bibliotecas de sequências.
Demonstre crescimento populacional tardio
Mostre como um atraso de três etapas cria um crescimento diferente do de Fibonacci.
Perguntas frequentes
O que é a sequência das vacas de Narayana?
É a sequência definida aqui por N(0)=N(1)=N(2)=1 e N(n)=N(n-1)+N(n-3) para n>=3.
A indexação começa em zero ou em um?
Começa em zero: N(0), N(1) e N(2) são 1. Outras fontes podem exibir os mesmos valores deslocados.
Por que o índice máximo é 97?
N(97) é o último termo que permanece um inteiro seguro exato do JavaScript.
Quanto vale N(10) na sequência das vacas de Narayana?
N(10) vale 28. É a soma de N(9), que vale 19, com N(7), que vale 9: o termo imediatamente anterior mais o de três posições atrás.
Quais são os primeiros termos da sequência?
Contando a partir do índice 0, a sequência começa 1, 1, 1, 2, 3, 4, 6, 9, 13, 19 e 28. Os três primeiros termos valem 1 e todos os seguintes obedecem à mesma regra.
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/narayana-cows \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":10}'const res = await fetch("https://api.kit.forhosting.com/numth/narayana-cows", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/narayana-cows",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/narayana-cows", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/narayana-cows", 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": 10
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.narayana_cows",
"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
Entenda a sequência e a convenção de índices
Como o algoritmo usa apenas adições inteiras exatas, o resultado é reproduzível no navegador e na API.
Envie um índice e leia a resposta
Informe n como inteiro não negativo de zero a 97; index também é aceito como alias. Uma execução válida pela API custa US$ 0,002; a ferramenta do navegador usa localmente a mesma função pura.
Perguntas técnicas
O que acontece quando n é negativo?
A solicitação retorna invalid_input; esta capacidade não define uma extensão inversa.
Quanto custa uma chamada de API?
Uma chamada bem-sucedida custa US$ 0,002; a calculadora do navegador executa a mesma lógica localmente.