Factorádico
Passe inteiros para o sistema fatorádico e volte: 23 é 3:2:1:0, também escrito 3210!, porque três vezes 3! mais duas vezes 2! mais uma vez 1! somam 23. Cada posição é conferida contra o seu dígito máximo. 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
- Valor
- 23
- Valor
- 23
- Modo de cálculo
- To factoradic
- Entrada
- 23
- Decimal
- 23
Implementa conversor factorádico de forma determinística no motor parse. Informe o valor e o modo se houver e obtenha a conversão exata sem rede.
Contar com fatoriais em vez de potências
Na base dez, cada posição vale dez vezes a anterior. No sistema fatorádico, cada posição vale um fatorial: a primeira da direita vale 0!, a seguinte 1!, depois 2!, 3! e assim por diante. Além disso, o dígito de cada posição não pode ser maior que o seu índice: na posição zero só cabe o 0, na primeira o 0 ou o 1, na segunda de 0 a 2. Com essa regra, todo inteiro não negativo tem uma única escrita, como na base dez. Por exemplo, 23 é três vezes 3! mais duas vezes 2! mais uma vez 1! mais zero vezes 0!, ou seja, 3:2:1:0, que na forma compacta fica 3210!. A ferramenta mostra esse detalhamento para você conferir a conta.
Para que serve e os erros mais comuns
O sistema fatorádico é a base do ranking de permutações: o código de Lehmer de uma permutação é um número fatorádico, e por isso ele aparece em competições de programação, em aulas de combinatória e na numeração de todas as ordenações possíveis de uma lista. O erro mais comum é escrever um dígito maior que a sua posição, como um 3 na posição dois; a ferramenta recusa em vez de corrigir escondido. Também vale indicar sempre o sentido da conversão, porque 23 pode ser um decimal ou uma lista de dígitos, e a ferramenta não adivinha. Ela não aceita negativos, frações nem notação científica e trabalha com até quarenta posições.
O que faz
Codificadores e conversões de base são buscas frequentes. conversor factorádico aplica decimal↔factoradic com validação rígida. Sem estado nem relógio. Goldens fixam entradas e saídas para oráculo.
O formulário web expõe params com rótulos em oito idiomas.
Quando usar
Use conversor factorádico quando precisar da conversão exata descrita, não de um pacote criptográfico completo. Não substitui cifras com chave. Combine com outras utilidades enc.* num laboratório.
Documente limites e modos no seu produto.
Casos de uso
Aulas com conversor factorádico.
Aulas com conversor factorádico.
Testes unitários de codificação.
Testes unitários de codificação.
Utilitários de pipeline de texto.
Utilitários de pipeline de texto.
Perguntas frequentes
Como converto 23 para fatorádico à mão?
Divida por 1, 2, 3 e assim por diante, anotando cada resto e seguindo com o quociente. Para 23 os restos são 0, 1, 2 e 3; lidos do último para o primeiro, eles formam 3:2:1:0.
Como converto um número fatorádico para decimal?
Multiplique cada dígito pelo fatorial da sua posição e some: em 3210! isso dá 18 mais 4 mais 1 mais 0, ou seja, 23. Você pode separar os dígitos com dois-pontos, espaços ou vírgulas, ou usar a forma compacta com ponto de exclamação.
Por que o último dígito fatorádico é sempre 0?
Porque a posição menos significativa vale 0!, e em cada posição o dígito não pode passar do seu índice. Na posição zero o único dígito possível é 0, então todo número fatorádico termina em 0.
Qual a relação entre o sistema fatorádico e as permutações?
O código de Lehmer de uma permutação é, na prática, um número fatorádico, então cada uma das n! ordenações recebe o seu próprio ranking, sem lacunas nem repetições. Converter um ranking para fatorádico dá o código de Lehmer, e vice-versa.
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/enc/factoradic \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"23"}'const res = await fetch("https://api.kit.forhosting.com/enc/factoradic", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "23"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/factoradic",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "23"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/factoradic", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"23"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"23"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/factoradic", 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
{
"value": "23"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.factoradic",
"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.
Limites
max_places | 40 |
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
API US$ 0,002 por sucesso; web grátis com o mesmo núcleo para aulas, testes e utilitários.
O que faz
Erros invalid_input evitam saídas silenciosas erradas.
Como funciona
Opcionais são omitidos, nunca null. Limites de params e cap.json são aplicados no código. Após validar os campos, o núcleo transforma e devolve JSON estável. O preço da API é US$ 0,002 por sucesso documentado.
Quando usar
Sem assinaturas; só cobrança por uso bem-sucedido na API.
Perguntas técnicas
É determinístico?
Sim: mesma entrada, mesma saída.
Usa rede ou IA?
Não; só parse no dispositivo ou Worker.
Entrada inválida?
invalid_input com mensagem clara.
Preço?
API US$ 0,002 por sucesso; web grátis.
Há widget?
Sim, tier A com a mesma lib.js.