Generador de números de Fermat
Escriba un índice y obtenga el número de Fermat 2^(2^n)+1 completo: con el índice 0 sale 3 y con el 4, 65537. Además verá cuántas cifras tiene y el exponente 2^n, útil para clases de teoría de números y prácticas de olimpiada. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- N
- 0
- Número de Fermat
- 3
- Dígitos decimales
- 1
- Exponente
- 1
Pierre de Fermat estudió los primeros valores y conjeturó que todo F_n es primo; esa conjetura falla en n igual a cinco, donde F_5 vale cuatro mil doscientos noventa y cuatro millones novecientos sesenta y siete mil doscientos noventa y siete y se factoriza, pero la sucesión sigue siendo central en teoría de números, polígonos construibles y pruebas de pseudoprimalidad. Este generador toma un índice entero no negativo n, devuelve la expansión decimal completa de F_n como cadena, indica cuántas cifras tiene ese valor y repite el exponente intermedio dos a la n para que usted vea la torre sin recalcularla.
Qué son los números de Fermat y cómo se define F_n
Un número de Fermat queda completamente determinado por un único índice entero no negativo n: F_n es igual a dos elevado a la potencia dos-a-la-n, más uno. Al expandir los primeros índices se obtiene la tabla clásica que memorizan los estudiantes: F_0 vale tres, F_1 vale cinco, F_2 vale diecisiete, F_3 vale doscientos cincuenta y siete y F_4 vale sesenta y cinco mil quinientos treinta y siete. Esos cinco valores son todos primos, por eso Fermat esperaba que todo término posterior también lo fuera.
Euler demostró que F_5 es compuesto, y todo número de Fermat posterior que se ha factorizado por completo también lo es; nadie ha probado que solo los cinco primeros sean primos, pero el patrón conocido hace de la sucesión un fijo permanente en los cursos elementales de teoría de números y en algoritmos que necesitan una familia dispersa de enteros casi coprimos entre sí.
Como el exponente es una potencia pura de dos, los números de Fermat sucesivos crecen de forma doblemente exponencial: cada paso aproximadamente duplica la longitud en bits del término anterior. La definición no necesita primalidad, factorización ni pruebas probabilísticas: solo potencia exacta y una suma. Dado n, el motor calcula exponent igual a dos a la n, forma F_n como uno desplazado a la izquierda por ese exponente más uno, convierte el BigInt a cadena e informa el número de dígitos.
Dónde aparece la generación de números de Fermat en el trabajo real
Programadores de concursos y entrenadores de olimpiadas usan valores de Fermat pequeños como calentamiento antes de problemas más duros de aritmética modular, y necesitan un oráculo determinista del que los estudiantes no puedan divergir accidentalmente por una fórmula de hoja de cálculo que desborda.
Ingenieros de criptografía y de sistemas a veces necesitan primos de Fermat conocidos como F_4 igual a sesenta y cinco mil quinientos treinta y siete al hablar de polígonos regulares construibles o del folklore histórico de parámetros RSA, sin atribuir fuerza criptográfica al número por sí solo. Si más adelante necesita números de Mersenne, pruebas de primalidad o factorización de un compuesto general, trátelos como intenciones de búsqueda separadas en lugar de sobrecargar esta landing centrada en Fermat.
Los números de Fermat siguen siendo la página correcta cuando la pregunta es cuánto vale dos a la dos-a-la-n más uno para un índice no negativo n dado.
Preguntas frecuentes
¿Un n negativo provoca un error?
En este generador los números de Fermat F_n se definen para n ≥ 0, y el rango admitido es de 0 a 16 inclusive.
¿Cómo se calcula F_n aquí?
El resultado se devuelve como cadena decimal para que los valores grandes no pierdan precisión.
¿El resultado es determinista?
No hay aleatoriedad, llamada de red ni modelo involucrado: solo potencia y suma con BigInt.
¿Cuánto cuesta?
La herramienta del navegador es gratuita y se ejecuta en local.
¿Todos los números de Fermat son primos?
No. Los cinco primeros, de F_0 (3) a F_4 (65537), son primos, y por eso Fermat conjeturó que lo serían todos, pero F_5, que vale 4294967297, se factoriza. Esta herramienta genera el valor; no comprueba si es primo.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su 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)Ejemplo de solicitud
{
"n": 4
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.fermat_number",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Los números de Fermat son los enteros F_n = 2 elevado a la potencia de 2 a la n, más uno — en forma compacta, dos a la dos-a-la-n más uno. Los índices negativos se rechazan con invalid_input. El mismo camino puro con BigInt funciona gratis en el navegador y en la API prepago a $0.002 por elemento exitoso, sin red, sin deriva de modelo y con acuerdo bit a bit entre demos interactivas y pruebas automatizadas.
Qué son los números de Fermat y cómo se define F_n
Ese crecimiento explica por qué esta herramienta devuelve el valor como cadena decimal y no como número IEEE en coma flotante, y por qué el índice admitido se detiene en dieciséis para que el trabajo con BigInt quepa en los presupuestos de tiempo de Worker y navegador.
Contrato de entrada, respuestas correctas y modos de fallo
Envíe un campo entero obligatorio n. El valor debe ser un entero desde cero hasta dieciséis inclusive. Decimales, campos vacíos, cadenas no numéricas y valores por encima del índice máximo también fallan la validación y no se cobran. Comprobaciones puntuales en las que puede confiar sin abrir un libro: n igual a cero da fermat tres y un dígito; n igual a cuatro da sesenta y cinco mil quinientos treinta y siete; n igual a cinco da cuatro mil doscientos noventa y cuatro millones novecientos sesenta y siete mil doscientos noventa y siete; n igual a menos uno falla la validación. Se aceptan los alias index y k para que formularios, cadenas de consulta y clientes SDK reutilicen un mismo contrato sin renombrar cada carga. Un n negativo falla con invalid_input y un mensaje que indica que los números de Fermat no están definidos para índices negativos — esa es la regla de producto que impone esta capacidad, alineada con el dominio matemático de la sucesión clásica. En el éxito el JSON informa n, fermat como la cadena decimal completa de dos a la dos-a-la-n más uno, decimal_digits como la longitud de esa cadena, exponent igual a dos elevado a n, y formula como una cadena corta de visualización del tipo dos caret paréntesis-abierto dos caret n paréntesis-cerrado más uno. El precio de la API es la base publicada de $0.002 por elemento exitoso; la validación fallida no consume saldo.
Dónde aparece la generación de números de Fermat en el trabajo real
Como la capacidad es un motor parse puro, el mismo n siempre produce el mismo JSON sin dependencia de red ni estado almacenado. Use el ejecutor gratuito del navegador para deberes y exploración, y luego llame a la API desde scripts e integración continua cuando necesite generación masiva con saldo prepago.
Casos de integración
Deberes y calentamientos de olimpiada
Calcule F_n = 2^(2^n)+1 para índices de aula y verifique expansiones decimales y recuentos de dígitos frente a una clave de respuestas determinista.
Fixtures deterministas para demos de enteros grandes
Genere campos fermat y decimal_digits estables para diapositivas, pruebas unitarias y documentación sin mantener a mano cadenas enormes de potencias de dos.
Valores de Fermat aptos para pipelines
Llame al mismo contrato isomorfo desde scripts y CI para que las aserciones sobre números de Fermat no dependan de un formulario web casual ni de un modelo de lenguaje.
Preguntas técnicas
¿Qué es un número de Fermat?
Un número de Fermat es un entero de la forma F_n = 2^(2^n) + 1 para un índice entero no negativo n. Los cinco primeros (n = 0 a 4) son los primos conocidos 3, 5, 17, 257 y 65537.