Generatore di numeri di Fermat
Inserisca un indice e ottenga il numero di Fermat 2^(2^n)+1 per intero: con l’indice 0 risulta 3, con il 4 risulta 65537. Accanto compaiono il numero di cifre e l’esponente 2^n, utili in una lezione di teoria dei numeri o per le olimpiadi. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- N
- 0
- Numero di Fermat
- 3
- Cifre decimali
- 1
- Esponente
- 1
Pierre de Fermat studiò i primi valori e congetturò che ogni F_n sia primo; quella congettura fallisce per n uguale a cinque, dove F_5 vale quattro miliardi duecentonovantaquattro milioni novecentosessantasettemila duecentonovantasette e si fattorizza, ma la successione resta centrale nella teoria dei numeri, nei poligoni costruibili e nei test di pseudoprimalità. Questo generatore accetta un indice intero non negativo n, restituisce l’espansione decimale completa di F_n come stringa, indica quante cifre ha quel valore ed echeggia l’esponente intermedio due alla n così Lei vede la torre senza ricalcolarla.
Cosa sono i numeri di Fermat e come si definisce F_n
Un numero di Fermat è completamente determinato da un unico indice intero non negativo n: F_n è uguale a due elevato alla potenza due-alla-n, più uno. Espandendo i primi indici si ottiene la tabella classica che gli studenti memorizzano: F_0 vale tre, F_1 vale cinque, F_2 vale diciassette, F_3 vale duecentocinquantasette e F_4 vale sessantacinquemila cinquecentotrentasette. Quei cinque valori sono tutti primi, ecco perché Fermat sperava che ogni termine successivo lo fosse.
Euler dimostrò che F_5 è composto, e ogni numero di Fermat successivo finora completamente fattorizzato lo è pure; nessuno ha dimostrato che solo i primi cinque siano primi, ma il modello noto rende la successione un punto fisso permanente dei corsi elementari di teoria dei numeri e degli algoritmi che necessitano di una famiglia sparsa di interi quasi coprimi a coppie. Poiché l’esponente è una pura potenza di due, i numeri di Fermat successivi crescono in modo doppiamente esponenziale: ogni passo all’incirca raddoppia la lunghezza in bit del termine precedente.
La definizione non richiede primalità, fattorizzazione né test probabilistici — solo potenza esatta e un’addizione. Dato n, il motore calcola exponent uguale a due alla n, forma F_n come uno spostato a sinistra di quell’esponente più uno, converte il BigInt in stringa e riporta il conteggio delle cifre.
Dove la generazione di numeri di Fermat compare nel lavoro reale
Programmatori di contest e coach di olimpiadi usano piccoli valori di Fermat come riscaldamento prima di problemi più duri di aritmetica modulare, e hanno bisogno di un oracolo deterministico da cui gli studenti non possano divergere per una formula di foglio di calcolo che va in overflow. Ingegneri di crittografia e sistemi a volte necessitano di primi di Fermat noti come F_4 uguale a sessantacinquemila cinquecentotrentasette discutendo poligoni regolari costruibili o il folklore storico dei parametri RSA, senza attribuire forza crittografica al numero da solo.
Se in seguito le servono numeri di Mersenne, test di primalità o fattorizzazione di un composto generico, li tratti come intenzioni di ricerca separate invece di sovraccaricare questa landing centrata su Fermat. I numeri di Fermat restano la pagina giusta quando la domanda è quanto vale due alla due-alla-n più uno per un dato indice non negativo n.
Domande frequenti
Un n negativo provoca un errore?
In questo generatore i numeri di Fermat F_n sono definiti per n ≥ 0 e l’intervallo supportato va da 0 a 16 inclusi.
Come viene calcolato F_n qui?
Il risultato è restituito come stringa decimale così i valori grandi non perdono precisione.
Il risultato è deterministico?
Non c’è casualità, chiamata di rete né modello — solo potenza e addizione BigInt.
Quanto costa?
Lo strumento browser è gratuito e gira in locale.
Tutti i numeri di Fermat sono primi?
No. I primi cinque, da F_0 (3) a F_4 (65537), sono primi, e per questo Fermat congetturò che lo fossero tutti, ma F_5, che vale 4294967297, si fattorizza. Questo strumento genera il valore senza verificarne la primalità.
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/fermat-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":4}'const res = await fetch("https://api.kit.forhosting.com/numth/fermat-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/fermat-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/fermat-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/fermat-number", 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": 4
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.fermat_number",
"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
I numeri di Fermat sono gli interi F_n = 2 elevato alla potenza di 2 alla n, più uno — in forma compatta, due alla due-alla-n più uno. Gli indici negativi vengono rifiutati con invalid_input. Lo stesso percorso puro BigInt gira gratis nel browser e sull’API prepagata a $0.002 per elemento riuscito, senza rete, senza deriva di modello e con accordo bit a bit tra demo interattive e test automatizzati.
Cosa sono i numeri di Fermat e come si definisce F_n
Quella crescita spiega perché questo strumento restituisce il valore come stringa decimale e non come numero IEEE in virgola mobile, e perché l’intervallo di indici supportato si ferma a sedici affinché il lavoro BigInt resti nei budget di tempo di Worker e browser.
Contratto di ingresso, risposte di successo e modalità di errore
Invii un campo intero obbligatorio n. Il valore deve essere un intero da zero a sedici inclusi. Decimali, campi vuoti, stringhe non numeriche e valori oltre l’indice massimo falliscono pure la validazione e non vengono addebitati. Controlli puntuali di cui può fidarsi senza aprire un manuale: n uguale a zero dà fermat tre e una cifra; n uguale a quattro dà sessantacinquemila cinquecentotrentasette; n uguale a cinque dà quattro miliardi duecentonovantaquattro milioni novecentosessantasettemila duecentonovantasette; n uguale a meno uno fallisce la validazione. Gli alias index e k sono accettati così moduli, query string e client SDK possono riusare un unico contratto senza rinominare ogni payload. Un n negativo fallisce con invalid_input e un messaggio che i numeri di Fermat non sono definiti per indici negativi — è la regola di prodotto che questa capacità applica, allineata al dominio matematico della successione classica. In caso di successo il JSON riporta n, fermat come stringa decimale completa di due alla due-alla-n più uno, decimal_digits come lunghezza di quella stringa, exponent uguale a due elevato a n, e formula come stringa breve di visualizzazione del tipo due caret parentesi-aperta due caret n parentesi-chiusa più uno. Il prezzo API è la base pubblicata di $0.002 per elemento riuscito; la validazione fallita non consuma saldo.
Dove la generazione di numeri di Fermat compare nel lavoro reale
Poiché la capacità è un motore parse puro, lo stesso n produce sempre lo stesso JSON senza dipendenza di rete né stato memorizzato. Usi l’esecutore gratuito del browser per compiti ed esplorazione, poi chiami l’API da script e integrazione continua quando le serve generazione massiva con saldo prepagato.
Casi di integrazione
Compiti e riscaldamenti da olimpiade
Calcoli F_n = 2^(2^n)+1 per indici da aula e verifichi espansioni decimali e conteggi di cifre rispetto a una chiave di risposte deterministica.
Fixture deterministiche per demo di interi grandi
Generi campi fermat e decimal_digits stabili per slide, test unitari e documentazione senza mantenere a mano enormi stringhe di potenze di due.
Valori di Fermat adatti alle pipeline
Chiami lo stesso contratto isomorfo da script e CI affinché le asserzioni sui numeri di Fermat non dipendano mai da un modulo web occasionale né da un modello linguistico.
Domande tecniche
Cos’è un numero di Fermat?
Un numero di Fermat è un intero della forma F_n = 2^(2^n) + 1 per un indice intero non negativo n. I primi cinque (n = 0 a 4) sono i noti primi 3, 5, 17, 257 e 65537.