Lista de números B-smooth
Até 30 existem 18 números cujos fatores primos são todos 5 ou menores, os 5-smooth ou números de Hamming. Informe um limite B para os primos e um teto N e receba a lista completa em ordem, os primos usados e a contagem. 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
- B
- 5
- N
- 30
- Primos menores ou iguais a b
- 2, 3, 5
- Quantidade
- 18
Um inteiro positivo é B-smooth (também chamado B-friável) quando todo fator primo é no máximo B. Os exemplos clássicos são os números de Hamming, exatamente os positivos 5-smooth: produtos de potências de dois, três e cinco. Esta capacidade recebe um limite de suavidade B e um teto N e devolve a lista ordenada completa de inteiros B-smooth de 1 até N, junto com os primos no máximo B e um campo de contagem.
O que são números B-smooth e por que a lista importa
Na teoria elementar dos números um inteiro positivo m é chamado B-smooth quando todo primo que divide m é menor ou igual a um limite fixo B. O inteiro 1 é tratado como B-smooth para todo B porque tem um conjunto vazio de fatores primos. Casos especiais familiares incluem os números de Hamming (5-smooth), as potências de dois (2-smooth) e conjuntos amigáveis a compostos usados no crivo quadrático e no crivo do corpo de números, onde relações smooth são o gargalo do ataque.
Listar todo valor B-smooth até N torna a definição concreta: você vê quais compostos sobrevivem ao filtro de fatores primos, quão esparso ou denso é o conjunto para um par (B, N) dado, e como a contagem muda quando eleva B em um único primo. Estudantes costumam confundir suavidade com primalidade ou com livre de quadrados; a lista ascendente completa separa essas noções de imediato.
Pesquisadores e engenheiros usam a mesma enumeração para semear inteiros de aparência aleatória porém fáceis de fatorar, corrigir problemas de concurso que pedem todos os números de Hamming abaixo de um teto, e validar crivos manuais antes de confiar em uma implementação personalizada maior.
Onde usar a lista e quanto custa
Se você só precisa de um teste de pertinência para um único inteiro, ainda pode executar esta ferramenta com N pequeno e percorrer o array devolvido, ou fatorar o inteiro separadamente e verificar que seu maior fator primo é no máximo B. O caminho do navegador roda localmente e não exige conta. Trate a contagem devolvida como autoritativa para os números listados em vez de recalcular o comprimento no código do cliente, que pode divergir deste contrato.
Casos de uso
Verificação de tarefas e competições
Compare a lista de números de Hamming ou outros B-smooth até N de um estudante com a enumeração canônica completa e a contagem, em vez de corrigir crivos manuais parciais.
Demonstrações didáticas da densidade smooth
Mostre ao vivo como elevar B de 2 a 3 a 5 preenche mais dos inteiros abaixo de N, e confirme que a contagem coincide com um filtro de fatoração independente.
Perguntas frequentes
O 1 é considerado B-smooth?
Sim. O inteiro 1 não tem fatores primos, portanto é B-smooth para todo limite válido B e sempre aparece primeiro na lista quando N ≥ 1.
O que são números de Hamming nesta ferramenta?
Números de Hamming são exatamente os positivos 5-smooth. Defina b como 5 e escolha n; o array numbers é a sequência de Hamming truncada em N.
Por que B ou N pequenos são rejeitados?
n deve ser pelo menos 1 e b pelo menos 2.
Como verifico se um único número é B-smooth?
Gere a lista com um teto pequeno e procure o número, ou fatore-o à parte e confira se o seu maior fator primo não passa de B. Os dois caminhos dão a mesma resposta.
Um número B-smooth é o mesmo que um primo?
Não. A propriedade só limita o tamanho dos fatores primos, então números compostos também se encaixam. Potências de dois, como 4 e 8, são 2-smooth e nenhuma é prima.
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/b-smooth-list \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"b":5,"n":30}'const res = await fetch("https://api.kit.forhosting.com/numth/b-smooth-list", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"b": 5,
"n": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/b-smooth-list",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"b": 5,
"n": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/b-smooth-list", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"b":5,"n":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"b":5,"n":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/b-smooth-list", 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
{
"b": 5,
"n": 30
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.b_smooth_list",
"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
Como a capacidade enumera e quando se recusa
O motor primeiro criva todo primo menor ou igual a B, depois multiplica recursivamente esses primos em ordem não decrescente, começando de um, e registra todo produto que permanece no máximo N. Esse percurso é determinístico e livre de relógios, aleatoriedade ou estado de rede, de modo que solicitações idênticas sempre produzem o mesmo array ordenado. Campos ausentes, não inteiros e valores acima do máximo publicado também falham da mesma forma e nunca são cobrados. Você envia um corpo JSON com dois campos inteiros obrigatórios: b (o limite de suavidade B, pelo menos dois) e n (o teto inclusivo N, pelo menos um). A resposta ecoa b e n, expõe primes_le_b por transparência, devolve numbers como a lista ascendente de inteiros B-smooth no intervalo fechado de um a N, e define count como o comprimento dessa lista. Valores de n abaixo de um falham com invalid_input porque o intervalo convencional de inteiros positivos começa em um. Valores de b abaixo de dois falham com invalid_input porque não existe primo estritamente menor que dois, de modo que um limite de zero ou um não define uma classe de suavidade útil sob a definição usual. Mantenha N e B dentro dos tetos documentados para que a lista completa continue prática no navegador e nas cargas da API.
Onde usar a lista e quanto custa
Use a ferramenta gratuita do navegador quando quiser uma verificação visual rápida para um limite e um teto pequenos, ou chame a API quando um script, um diário de notas, um gerador ou um caderno de pesquisa precisarem resolver muitos pares da mesma forma todas as vezes. O uso da API debita o saldo pré-pago do KIT ao preço base publicado de US$ 0,002 por solicitação bem-sucedida; validação falha não consome saldo.
Casos de integração
Geração de fixtures de teste para entradas friáveis
Envie pares (B, N) pequenos à API e use cada inteiro devolvido como caso de entrada para funções que assumem argumentos smooth ou no estilo Hamming.
Perguntas técnicas
Como listo todos os números B-smooth até N?
Envie por POST um corpo JSON com os inteiros b (limite de suavidade, ≥ 2) e n (teto superior, ≥ 1). A resposta inclui numbers, count e primes_le_b.
A lista de números B-smooth é grátis?
O widget do navegador é grátis e roda localmente. Chamadas à API usam o saldo pré-pago do KIT ao preço base publicado de US$ 0,002; entrada inválida não é cobrada.