Calculadora de subtração longa
Subtraia números inteiros coluna por coluna, como se aprende na escola: 905 menos 187 dá 718 com dois empréstimos. Aceita números de até 4096 dígitos e mostra quantas colunas precisaram pedir emprestado. 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
- Minuendo
- 905
- Subtraendo
- 187
- Diferença
- 718
- Quantidade de empréstimos
- 2
A subtração longa é o método em colunas ensinado em todo curso de aritmética: alinhe dois números inteiros pelas unidades, percorra da direita para a esquerda e peça emprestado à coluna seguinte quando um dígito for pequeno demais. Esta calculadora recebe o minuendo e o subtraendo como strings decimais para que os operandos possam ser bem maiores que um tipo inteiro nativo; aplica exatamente esse percurso de livro e devolve a diferença como string. Zeros à esquerda são removidos.
O que é a subtração longa e como funciona o empréstimo
A subtração longa é o algoritmo escrito que produz a diferença de dois números inteiros não negativos, uma casa decimal de cada vez. Escreva o minuendo acima do subtraendo, alinhando unidades, dezenas, centenas e cada ordem superior. Começando pela coluna das unidades, subtraia o dígito de baixo do de cima.
Quando o dígito superior é grande o bastante, o resultado daquela coluna é simplesmente a diferença deles. Quando não é, pede-se emprestado: o dígito superior atual aumenta em dez e a próxima coluna do minuendo diminui em um. Esse dez emprestado é exatamente a identidade de valor posicional segundo a qual dez unidades fazem uma dezena, dez dezenas uma centena, e assim por diante, de modo que o valor do minuendo nunca muda — só muda como ele é escrito nas colunas.
Empréstimos em cascata aparecem quando uma sequência de zeros fica à esquerda de um dígito pequeno demais, como em mil menos um, que vira novecentos e noventa e nove após três empréstimos sucessivos. O método é determinístico, funciona para qualquer comprimento de string decimal e é o mesmo procedimento impresso nos livros do ensino fundamental.
Esta calculadora implementa esse percurso sobre caracteres de dígito, e não sobre um inteiro nativo da linguagem, então um número com dezenas ou centenas de dígitos é tratado como um exemplo de sala com três dígitos. A resposta informa se houve algum empréstimo e quantas colunas precisaram dele, o que ajuda quando se revisa o trabalho de um aluno coluna a coluna em vez de comparar só a resposta final.
Onde a subtração em colunas é útil
Salas de aula e plataformas de tutoria usam uma calculadora de subtração longa para que aprendizes verifiquem um esquema manuscrito em colunas sem que o professor refaça cada empréstimo à mão. Geradores de prova e sistemas de gestão de aprendizagem precisam de um oráculo determinístico que marque um subtraendo grande demais como inválido, em vez de devolver em silêncio uma string negativa que um corretor defeituoso poderia tratar como acerto.
Scripts de contabilidade e estoque que já guardam quantidades como strings decimais — totais de fatura, contagens de estoque, totais de série — podem subtrair sem converter por um tipo de ponto flutuante que arredondaria além de quinze algarismos significativos. A validação falha não consome saldo.
Mantenha cada operando dentro do teto de dígitos publicado, fixe a string de diferença nos testes e você terá subtração exata e reproduzível para lição de casa, plugins LMS e workers de borda, sem montar um sistema de álgebra computacional nem uma biblioteca própria de inteiros grandes.
Casos de uso
Checagens de sala e lição de casa
Deixe os alunos enviarem um minuendo e um subtraendo e conferir a diferença exata e se alguma coluna pediu emprestado, no mesmo algoritmo do papel.
Aritmética exata com strings em scripts
Subtraia estoques, totais de fatura ou outras quantidades em string decimal que podem ultrapassar o limite de inteiro seguro, sem arredondamento em ponto flutuante.
Perguntas frequentes
Como subtraio dois números inteiros com esta calculadora de subtração longa?
Envie o minuendo e o subtraendo como strings de dígitos decimais.
O que acontece se o subtraendo for maior que o minuendo?
Esta calculadora cobre apenas inteiros não negativos, então um subtraendo maior é recusado em vez de devolver uma diferença negativa, e a chamada falha não é cobrada.
Quão grandes podem ser os números?
Cada operando pode ter no máximo 4096 dígitos decimais. Envie os valores como strings para que os dígitos além do limite de inteiro seguro da linguagem permaneçam exatos; zeros à esquerda são removidos antes da comparação e da subtração.
O que significa pedir emprestado na subtração?
Quando o algarismo de cima é menor que o de baixo, ele ganha dez e a coluna seguinte, à esquerda, perde um. O minuendo continua com o mesmo valor; muda só a forma como ele se distribui pelas colunas.
Por que um zero no minuendo exige vários empréstimos?
Porque o zero não tem nada para emprestar e precisa pedir, por sua vez, à coluna seguinte. Ao subtrair 1 de 1000, por exemplo, são necessários três empréstimos seguidos, um para cada zero, antes de resolver as unidades.
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/math/long-subtraction \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"minuend":"905","subtrahend":"187"}'const res = await fetch("https://api.kit.forhosting.com/math/long-subtraction", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"minuend": "905",
"subtrahend": "187"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/long-subtraction",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"minuend": "905",
"subtrahend": "187"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/long-subtraction", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"minuend":"905","subtrahend":"187"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"minuend":"905","subtrahend":"187"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/long-subtraction", 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
{
"minuend": "905",
"subtrahend": "187"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.long_subtraction",
"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_digits | 4096 |
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
Se o subtraendo for maior que o minuendo, a requisição falha com invalid_input em vez de inventar uma resposta negativa, porque esta ferramenta cobre apenas inteiros não negativos.
Contrato de entrada, o percurso dos dígitos e o comportamento de erro
Cada campo é uma string de dígitos decimais; zeros à esquerda são permitidos e depois removidos, de modo que sete e zero-zero-sete se comparam como o mesmo número. Depois de canonizar os dois operandos, o motor os compara por comprimento e depois de forma lexicográfica. Se o subtraendo superar o minuendo, a tarefa falha com uma mensagem clara: a subtração longa de inteiros não negativos exige que o minuendo seja pelo menos tão grande — a ferramenta não emite um menos inicial nem um resultado sem sinal encapsulado. Quando os operandos são iguais, a diferença é o dígito zero e nenhum empréstimo é registrado. Envie por POST um corpo JSON com dois campos obrigatórios: minuend, o inteiro não negativo do qual se subtrai, e subtrahend, o inteiro não negativo que se tira. Por conveniência aceitam-se inteiros JSON e strings numéricas, mas valores que precisem permanecer exatos além do limite de inteiro seguro de cinquenta e três bits devem sempre ser enviados como strings. Campos ausentes, strings vazias, sinais de menos, pontos decimais, separadores de milhar, letras e strings com mais de quatro mil e noventa e seis dígitos falham com invalid_input nomeando o campo, e essas falhas não são cobradas. Caso contrário, o núcleo preenche o subtraendo com zeros à esquerda, percorre das unidades até a ordem mais alta, aplica o indicador de empréstimo, remove zeros à esquerda do resultado e devolve minuend, subtrahend, difference, borrowed, borrow_count e equal.
Onde uma API de subtração longa justifica o seu lugar
Como a implementação é parse de nível A, cada chamada bem-sucedida custa o preço-base publicado US$ 0,002, sem tokens de modelo e sem rede de saída.
Casos de integração
Correção automática de provas e LMS
Corrija itens de subtração longa com um oráculo determinístico que recusa um subtraendo maior com invalid_input e nunca inventa um resultado negativo.
Perguntas técnicas
A calculadora mostra se foi preciso pedir emprestado?
Sim. A resposta inclui borrowed (verdadeiro quando ao menos uma coluna pediu emprestado) e borrow_count (quantas colunas precisaram de um dez da ordem seguinte), para que você revise o trabalho por colunas, não só os dígitos finais.
Quanto custa a calculadora de subtração longa?
A ferramenta do navegador é gratuita. Requisições API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.