Calcolatore di sequenza aliquota
Una sequenza aliquota parte da un intero positivo e sostituisce ripetutamente il termine corrente con la somma dei suoi divisori positivi propri.
Esegui gratis nel browser
Questo calcolatore esegue l’iterazione in modo deterministico, mostra ogni termine raggiunto e si ferma quando esaurisce il limite di passi, arriva a zero o rileva un valore ripetuto. Un rigoroso limite di sicurezza protegge il calcolo da termini intermedi eccessivi e rende il risultato riproducibile per esperimenti, didattica e procedure di verifica.
Scelga il valore iniziale e comprenda ogni transizione
Inserisca un intero positivo in start e scelga uno step_limit da 1 a 100. Il valore iniziale è sempre il primo elemento restituito. Ogni transizione sostituisce l’ultimo termine con la sua somma aliquota, cioè la somma di tutti i divisori positivi minori del numero stesso. Per esempio, i divisori propri di 12 sono 1, 2, 3, 4 e 6, quindi il termine successivo è 16. I divisori propri di 16 sono 1, 2, 4 e 8, da cui segue 15. Il limite conta le transizioni, non i valori visualizzati: dieci passi producono al massimo undici termini. Una condizione naturale di arresto può ridurli. La convenzione rende chiaro il lavoro richiesto e facilita il confronto con calcoli manuali, esercizi o altre implementazioni. Nell’API, n, number o value possono indicare l’inizio, mentre steps può indicare il limite.
Legga le informazioni sull’arresto e sui cicli
Il risultato comprende la sequenza completa, il numero di transizioni concluse e un’etichetta di arresto. step_limit indica che sono stati eseguiti tutti i passi richiesti. zero segnala che la sequenza ha raggiunto zero, spesso dopo 1 perché 1 non ha divisori positivi propri. cycle significa che il nuovo valore era già comparso. Il valore ripetuto rimane come ultimo elemento per rendere visibile il ciclo, mentre cycle_start_index identifica la sua posizione precedente a partire da zero. Un numero perfetto crea quindi subito un ciclo: iniziando da 6 si ottiene 6, 6 con indice zero. In assenza di cicli, cycle_start_index vale -1. Il rilevamento evita ripetizioni inutili ma conserva le informazioni necessarie per ricostruire la parte periodica.
Gestisca in sicurezza i termini grandi
Il valore iniziale non può superare il limite sicuro pubblicato di mille miliardi e ogni termine generato viene verificato prima dell’inserimento. Se una somma aliquota intermedia supera il limite, la richiesta restituisce un errore di input non valido che indica la transizione non sicura. Il calcolatore non tronca, arrotonda o sostituisce silenziosamente il numero, perché produrrebbe una sequenza matematicamente errata. Ogni somma viene calcolata mediante fattorizzazione intera deterministica e formula moltiplicativa della somma dei divisori. Non usa rete, casualità, ora corrente o stato salvato: lo stesso input dà lo stesso output nel browser e tramite API. Per esplorare un inizio sconosciuto, scelga prima pochi passi e aumenti il limite se i termini restano gestibili. Il prezzo API è $0.002 per richiesta; i limiti espliciti circoscrivono il lavoro.
Casi d'uso
Esplorare la teoria dei numeri
Segua un intero attraverso somme successive di divisori propri e scopra se arriva a zero, entra in ciclo o continua.
Verificare esercizi didattici
Confronti una sequenza di uno studente o di un testo con un elenco deterministico delle transizioni effettuate.
Collaudare software matematico
Usi un output stabile e limitato come riferimento per validare un’altra implementazione o pipeline di dati.
Domande frequenti
Che cos’è una sequenza aliquota?
È una sequenza in cui ogni nuovo termine equivale alla somma dei divisori positivi propri del termine precedente.
Il limite dei passi include il numero iniziale?
No. Conta le transizioni; dieci passi possono mostrare al massimo undici termini, incluso quello iniziale.
Perché la sequenza può fermarsi prima del limite?
Si ferma quando raggiunge zero o un valore già visto, perché poi seguirebbero zero o ripetizioni cicliche.
Che cosa accade se un termine è troppo grande?
La richiesta fallisce con un errore di input non valido, senza restituire una sequenza parziale o numericamente insicura.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. La stessa logica deterministica può funzionare anche 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/aliquot-sequence \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":12,"step_limit":10}'const res = await fetch("https://api.kit.forhosting.com/numth/aliquot-sequence", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": 12,
"step_limit": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/aliquot-sequence",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": 12,
"step_limit": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/aliquot-sequence", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":12,"step_limit":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":12,"step_limit":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/aliquot-sequence", 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
{
"start": 12,
"step_limit": 10
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.aliquot_sequence",
"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_term | 1000000000000 |
max_steps | 100 |
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. |