Verificador de número livre de quadrados
O 30 é livre de quadrados porque se decompõe em 2 × 3 × 5, cada primo uma única vez; o 12 não é, pois o quadrado de 2 o divide. Digite um inteiro positivo e receba um sim ou não com o motivo. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Um número livre de quadrados não tem nenhum fator primo elevado ao quadrado: cada primo de sua fatoração aparece no máximo uma vez. Este verificador fornece uma resposta direta para qualquer inteiro positivo dentro do limite publicado. Quando o número não é livre de quadrados, ele também informa um primo cujo quadrado divide a entrada, oferecendo uma justificativa curta e verificável. O cálculo é determinístico, funciona sem acesso à rede e considera 1 livre de quadrados conforme a definição matemática usual.
O que significa ser livre de quadrados
Um inteiro positivo é livre de quadrados quando nenhum número primo o divide mais de uma vez. De forma equivalente, não pode existir um primo p cujo quadrado divida o inteiro. Por exemplo, 30 é livre de quadrados porque sua fatoração prima é 2 × 3 × 5, com cada primo aparecendo exatamente uma vez.
Já 12 não é, pois sua fatoração é 2² × 3; portanto, o quadrado de 2 o divide. O número 1 é um caso de borda importante: sua fatoração prima é vazia, logo não contém primo repetido e é considerado livre de quadrados. Este verificador aplica essa definição diretamente.
O resultado contém o valor original e o booleano squarefree. Essa evidência facilita a conferência: eleve o primo indicado ao quadrado e divida o número original pelo resultado. Um quociente exato comprova por que a entrada não passou no teste, sem exigir uma fatoração prima completa.
Como a verificação é feita
O algoritmo usa aritmética inteira exata e divisão por tentativa com limite definido. Ele começa pelo menor candidato a fator primo e examina possíveis fatores em ordem crescente. Sempre que um candidato divide o valor restante, o algoritmo remove uma cópia e verifica imediatamente se o mesmo candidato divide novamente.
Uma segunda divisão significa que o quadrado do candidato divide a entrada original; assim, o número não pode ser livre de quadrados e o cálculo pode terminar. Se houver apenas uma cópia, a busca continua sobre o resto reduzido. Não é necessário testar candidatos acima da raiz quadrada desse resto: todo resto composto tem um fator menor ou igual à sua raiz quadrada, enquanto um resto maior que sobrar no final é um único fator primo.
O método não depende de testes probabilísticos de primalidade, tabelas em cache, serviços externos nem aproximações de ponto flutuante. O limite publicado torna o trabalho previsível, e a validação de inteiros seguros do JavaScript garante que cada divisão e resto represente exatamente o inteiro informado.
Como usar e interpretar o resultado
Informe n como um inteiro positivo, não como decimal, fração, texto em notação científica ou número formatado com separadores. Valores abaixo de 1 são rejeitados porque esta capacidade segue a definição usual de número livre de quadrados entre inteiros positivos. Valores acima do máximo documentado também são rejeitados para manter a execução limitada.
Um resultado squarefree verdadeiro afirma que o inteiro não contém nenhum fator primo ao quadrado; isso não significa que o inteiro seja primo. Números como 6, 30 e 42 são compostos, mas livres de quadrados, pois seus fatores primos distintos aparecem uma única vez. A entrada pode conter outros primos repetidos não listados, pois basta uma evidência para decidir a propriedade.
A saída serve para regras de validação, experiências de teoria dos números e etapas de preparação que precisam apenas da classificação. O algoritmo não envia a entrada para serviços de terceiros.
Casos de uso
Validar um conjunto de dados numéricos
Classifique inteiros positivos armazenados e sinalize linhas que contenham um fator primo ao quadrado antes de outras análises.
Conferir exercícios de aritmética
Confirme se uma resposta proposta é livre de quadrados e use o primo repetido como explicação objetiva quando não for.
Filtrar sequências geradas
Mantenha apenas termos livres de quadrados em um fluxo determinístico sem calcular nem armazenar cada fatoração completa.
Perguntas frequentes
O número 1 é livre de quadrados?
Sim. O número 1 não tem fatores primos, portanto nenhum primo aparece ao quadrado em sua fatoração.
Ser livre de quadrados significa ser primo?
Não. Um número composto pode ser livre de quadrados quando cada fator primo aparece apenas uma vez; 30 é um exemplo.
O que o resultado mostra quando um número não é livre de quadrados?
Ele indica um primo cujo quadrado divide o seu número. Para o 12 esse primo é o 2, porque 4 cabe exatamente em 12. Esse único primo já serve de prova, sem fatoração completa.
Posso verificar um número decimal ou negativo?
Não. Só são aceitos inteiros positivos. Valores menores que 1, decimais, frações, notação científica e números escritos com separadores de milhar são recusados em vez de interpretados.
Como se verifica se um número é livre de quadrados?
Os possíveis fatores primos são testados do menor para o maior. Cada vez que um divide o número, uma cópia é retirada e o mesmo fator é testado de novo; uma segunda divisão mostra que seu quadrado divide o número.
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/squarefree-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":30}'const res = await fetch("https://api.kit.forhosting.com/numth/squarefree-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/squarefree-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/squarefree-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/squarefree-check", 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": 30
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.squarefree_check",
"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_n | 1000000000000 |
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
O que significa ser livre de quadrados
Se o resultado for falso, repeated_prime informa um primo que ocorre pelo menos duas vezes.
Como a verificação é feita
Repetir uma solicitação com a mesma entrada sempre gera o mesmo resultado JSON.
Como usar e interpretar o resultado
Um resultado falso inclui repeated_prime, porém esse campo é uma evidência, e não uma fatoração completa. O uso no navegador executa localmente o mesmo cálculo puro, enquanto uma solicitação à API custa US$ 0,002.
Perguntas técnicas
O que repeated_prime mostra?
Ele mostra um primo cujo quadrado divide n. A entrada pode ter outros fatores primos repetidos que não são listados.
Posso informar zero ou um inteiro negativo?
Não. Esta capacidade aceita somente inteiros positivos e retorna um erro invalid_input quando n é menor que 1.
Quanto custa uma verificação pela API?
Cada solicitação à API custa US$ 0,002. A versão do navegador executa localmente o mesmo cálculo determinístico.