Verifica di un numero altamente composto
Un numero altamente composto possiede più divisori positivi di ogni intero positivo minore.
Esegui gratis nel browser
Questo strumento applica tale definizione rigorosa di record al valore indicato da Lei, anziché limitarsi a stabilire se abbia molti fattori o se sia composto. Restituisce il numero di divisori dell’intero scelto, il massimo raggiunto dai valori precedenti e un esito diretto vero o falso. Questi dettagli rendono la decisione verificabile nelle lezioni, nello studio delle successioni intere, negli esercizi di programmazione e nei processi di convalida.
Che cosa significa superare la verifica
Un numero soddisfa la condizione soltanto quando la sua quantità di divisori positivi è strettamente maggiore di quella di ogni intero positivo minore. La parola «strettamente» è essenziale. Se un valore precedente aveva già raggiunto lo stesso conteggio, il valore successivo non stabilisce un nuovo record e lo strumento restituisce falso. La verifica riguarda quindi i detentori di record nella successione del numero di divisori, non la consueta distinzione tra numeri primi e composti. L’intero positivo 1 è incluso: ha un divisore positivo e non esistono interi positivi minori da superare, perciò rappresenta il primo record secondo la definizione adottata. Il risultato include divisor_count per il valore inviato e max_smaller_divisor_count per la migliore prestazione precedente. Il confronto tra questi due campi spiega l’esito booleano senza chiedere a Lei di accettare un’etichetta priva di motivazione. Ciò è particolarmente utile nello studio delle successioni di record, dove un numero può avere una fattorizzazione notevole e tuttavia non qualificarsi perché un intero precedente aveva uguagliato o superato il suo numero di divisori.
Come viene ottenuta una risposta deterministica
L’algoritmo costruisce una tabella esatta del numero di divisori per ogni intero positivo compreso tra 1 e il valore richiesto. Visita ogni possibile divisore e incrementa il conteggio di tutti i suoi multipli, esprimendo la stessa relazione indicata quando si dice che un divisore divide un numero senza resto. Completata la tabella, lo strumento esamina tutte le voci inferiori al valore richiesto e conserva il conteggio massimo incontrato. L’intero inviato è altamente composto se e solo se il suo conteggio supera tale massimo precedente. Non vengono utilizzati test probabilistici di primalità, approssimazioni, archivi remoti, scelte casuali o valori dipendenti dall’orologio. Un input identico produce quindi lo stesso JSON nel browser e tramite API. L’implementazione accetta interi positivi sicuri e testi composti esclusivamente da cifre. Rifiuta frazioni, testo non numerico, valori inferiori a uno e input oltre il limite dichiarato. Tale limite mantiene prevedibili sia l’uso della memoria sia i cicli aritmetici annidati nel browser e nell’ambiente di esecuzione, pur consentendo esplorazioni e controlli ordinari delle successioni.
Come leggere e utilizzare i campi restituiti
Inizi da is_highly_composite, che rappresenta la decisione principale. Quando è vero, divisor_count è necessariamente maggiore di max_smaller_divisor_count, e ciò dimostra che l’input ha stabilito un nuovo record. Quando è falso, il massimo precedente è uguale o superiore al conteggio dell’input; il numero non soddisfa quindi la definizione, anche se possiede molti fattori. La risposta ripete inoltre n, aiutando registri e processi in batch a mantenere ogni decisione associata al valore di origine. In una lezione sulle successioni, Lei può inviare interi consecutivi e osservare il massimo rimanere invariato fino alla comparsa di un nuovo record. Nei test software, verifichi sia il valore booleano sia i due conteggi, affinché una regressione non si nasconda dietro un’etichetta apparentemente corretta. Nei flussi di dati, consideri una risposta di input non valido come violazione del contratto, non come risultato matematico: zero e gli interi negativi sono fuori dal dominio. Ogni richiesta API costa $0.002, mentre la versione nel browser viene eseguita localmente. Nessuna modalità consulta archivi numerici esterni, modifica o conserva l’intero inviato.
Casi d'uso
Esplorare successioni di record dei divisori
Provi interi positivi consecutivi e individui con precisione dove compare un nuovo record del numero di divisori.
Controllare esercizi di matematica
Verifichi l’affermazione relativa a un numero altamente composto ed esamini i conteggi che motivano la decisione.
Convalidare candidati generati
Aggiunga un controllo deterministico dei record al codice che propone candidati partendo da fattorizzazioni o successioni intere.
Domande frequenti
Che cos’è un numero altamente composto?
È un intero positivo con un numero di divisori positivi strettamente maggiore di quello di ogni intero positivo minore.
È sufficiente un pareggio con un numero precedente?
No. L’input deve superare il precedente record del numero di divisori; uguagliarlo non è sufficiente.
Il numero 1 è considerato altamente composto?
Sì, secondo la definizione utilizzata qui. Ha un divisore e non esiste un intero positivo minore che possa contendergli il primo record.
Quali input sono accettati?
Indichi un intero positivo compreso tra 1 e 1,000,000. Il risolutore condiviso accetta anche testo formato esclusivamente da cifre.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. Lo stesso strumento deterministico è disponibile nel browser.
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/highly-composite-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":12}'const res = await fetch("https://api.kit.forhosting.com/numth/highly-composite-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 12
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/highly-composite-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 12
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/highly-composite-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":12}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":12}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/highly-composite-check", 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
{
"n": 12
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.highly_composite_check",
"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.
Limiti
max_n | 1000000 |
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. |