Lista numeri B-smooth
Fino a 30 ci sono 18 numeri i cui fattori primi sono tutti 5 o meno: i numeri 5-lisci, detti anche numeri di Hamming. Inserisca un limite B e un tetto N e ottenga l'elenco ordinato completo, i primi usati e il conteggio. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- B
- 5
- N
- 30
- Primi minori o uguali a b
- 2, 3, 5
- Quantità
- 18
Un intero positivo è B-smooth (detto anche B-friabile) quando ogni fattore primo è al più B. Gli esempi classici sono i numeri di Hamming, esattamente i positivi 5-smooth: prodotti di potenze di due, tre e cinque. Questa capacità riceve un vincolo di levigatezza B e un limite superiore N e restituisce l'elenco ordinato completo degli interi B-smooth da 1 a N, insieme ai primi al più B e a un campo di conteggio.
Cosa sono i numeri B-smooth e perché l'elenco conta
Nella teoria elementare dei numeri un intero positivo m è detto B-smooth quando ogni primo che divide m è minore o uguale a un vincolo fisso B. L'intero 1 è trattato come B-smooth per ogni B perché ha un insieme vuoto di fattori primi. Casi particolari familiari includono i numeri di Hamming (5-smooth), le potenze di due (2-smooth) e gli insiemi adatti ai compositi usati nel crivello quadratico e nel crivello del campo di numeri, dove le relazioni smooth sono il collo di bottiglia dell'attacco.
Elencare ogni valore B-smooth fino a N rende concreta la definizione: Lei vede quali compositi superano il filtro dei fattori primi, quanto è sparso o denso l'insieme per una data coppia (B, N), e come cambia il conteggio quando alza B di un solo primo. Gli studenti confondono spesso la levigatezza con la primalità o con l'essere free-square; l'elenco crescente completo separa subito quelle nozioni.
Ricercatori e ingegneri usano la stessa enumerazione per seminare interi dall'aspetto casuale ma facili da fattorizzare, valutare problemi di gara che chiedono tutti i numeri di Hamming sotto un tetto, e verificare crivelli manuali prima di fidarsi di un'implementazione personalizzata più ampia.
Dove usare l'elenco e quanto costa
Se Le serve solo un test di appartenenza per un singolo intero, può comunque eseguire questo strumento con N piccolo e scorrere l'array restituito, oppure fattorizzare l'intero a parte e verificare che il suo massimo fattore primo sia al più B. Il percorso browser gira in locale e non richiede account. Tratti il conteggio restituito come autorevole per i numeri elencati invece di ricalcolare la lunghezza nel codice client, che potrebbe discostarsi da questo contratto.
Casi d'uso
Verifica di compiti e gare
Confronti l'elenco di numeri di Hamming o altri B-smooth fino a N di uno studente con l'enumerazione canonica completa e il conteggio, invece di correggere crivelli manuali parziali.
Dimostrazioni didattiche della densità smooth
Mostri dal vivo come alzare B da 2 a 3 a 5 riempie di più gli interi sotto N, e confermi che il conteggio coincide con un filtro di fattorizzazione indipendente.
Domande frequenti
L'1 è considerato B-smooth?
Sì. L'intero 1 non ha fattori primi, quindi è B-smooth per ogni vincolo valido B e appare sempre per primo nell'elenco quando N ≥ 1.
Cosa sono i numeri di Hamming in questo strumento?
I numeri di Hamming sono esattamente i positivi 5-smooth. Imposti b a 5 e scelga n; l'array numbers è la sequenza di Hamming troncata a N.
Perché B o N piccoli vengono rifiutati?
n deve essere almeno 1 e b almeno 2.
Come verifico se un singolo numero è B-liscio?
Generi l'elenco con un tetto piccolo e cerchi il numero, oppure lo scomponga a parte e controlli che il suo fattore primo più grande non superi B. Le due strade danno la stessa risposta.
Un numero B-liscio è la stessa cosa di un numero primo?
No. La proprietà limita solo la grandezza dei fattori primi, quindi anche i numeri composti possono rientrarvi. Le potenze di due come 4 e 8 sono 2-lisce e nessuna è un numero primo.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
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)Esempio di richiesta
{
"b": 5,
"n": 30
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.b_smooth_list",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Come la capacità enumera e quando rifiuta
Il motore prima crivella ogni primo minore o uguale a B, poi moltiplica ricorsivamente quei primi in ordine non decrescente, partendo da uno, e registra ogni prodotto che resta al più N. Quel percorso è deterministico e privo di orologi, casualità o stato di rete, così richieste identiche producono sempre lo stesso array ordinato. Campi mancanti, non interi e valori oltre il massimo pubblicato falliscono allo stesso modo e non vengono mai addebitati. Lei invia un corpo JSON con due campi interi obbligatori: b (il vincolo di levigatezza B, almeno due) e n (il limite superiore inclusivo N, almeno uno). La risposta ripete b e n, espone primes_le_b per trasparenza, restituisce numbers come elenco crescente degli interi B-smooth nell'intervallo chiuso da uno a N, e imposta count alla lunghezza di quell'elenco. Valori di n inferiori a uno falliscono con invalid_input perché l'intervallo convenzionale degli interi positivi inizia da uno. Valori di b inferiori a due falliscono con invalid_input perché non esiste un primo strettamente minore di due, quindi un vincolo di zero o uno non definisce una classe di levigatezza utile secondo la definizione usuale. Mantenga N e B entro i tetti documentati affinché l'elenco completo resti pratico per browser e payload API.
Dove usare l'elenco e quanto costa
Usi lo strumento gratuito del browser per un controllo visivo rapido con un vincolo e un limite modesti, oppure chiami l'API quando uno script, un registro voti, un generatore o un taccuino di ricerca devono risolvere molte coppie allo stesso modo ogni volta. L'uso dell'API addebita il saldo prepagato KIT al prezzo base pubblicato di $0.002 per richiesta riuscita; una validazione fallita non consuma saldo.
Casi di integrazione
Generazione di fixture di test per ingressi friabili
Invii coppie (B, N) piccole all'API e usi ogni intero restituito come caso di ingresso per funzioni che assumono argomenti smooth o in stile Hamming.
Domande tecniche
Come elenco tutti i numeri B-smooth fino a N?
Invii con POST un corpo JSON con gli interi b (vincolo di levigatezza, ≥ 2) e n (limite superiore, ≥ 1). La risposta include numbers, count e primes_le_b.
L'elenco dei numeri B-smooth è gratuito?
Il widget del browser è gratuito e gira in locale. Le chiamate API usano il saldo prepagato KIT al prezzo base pubblicato di $0.002; l'ingresso non valido non viene addebitato.