Representación problema de Waring
Con cuadrados, el 30 queda como 25 + 4 + 1, es decir, 5² + 2² + 1², tomando siempre el mayor cuadrado que cabe. Elija un número y una potencia de dos o más y verá cada término y una suma que coincide. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- N
- 30
- K
- 2
- Bases
- 5, 2, 1
- Cantidad de términos
- 3
- Sum
- 30
- Representación
- 5^2 + 2^2 + 1^2
La pregunta clásica de Waring indaga cómo todo número natural puede escribirse como suma de potencias k-ésimas de enteros no negativos. Esta capacidad implementa la construcción golosa estándar: dado un entero no negativo n y un exponente k de al menos dos, resta de forma reiterada la mayor potencia k-ésima perfecta que no supere el resto hasta agotarlo. Usted recibe la lista ordenada de bases, el valor de cada término, una cadena de visualización y una suma que iguala n en cada llamada correcta. Los límites mantienen n y k en aritmética entera segura para workers de borde sin multiprecisión.
Qué significa la representación golosa al estilo Waring
Una potencia k-ésima es un entero de la forma m elevado a k, donde m es un entero no negativo y k es un exponente fijo. El problema de Waring en teoría de números estudia el menor g(k) tal que todo natural es suma de a lo sumo g(k) potencias de ese tipo; teoremas clásicos dan g(2) igual a cuatro (teorema de los cuatro cuadrados de Lagrange) y cotas explícitas para k mayores.
Aplica la heurística golosa transparente de manuales y concursos: mientras el resto r sea positivo, elija el mayor m con m a la k a lo sumo r, registre esa base y reemplace r por r menos m a la k. Como uno a la k es siempre uno para k mayor o igual que uno, todo entero no negativo admite expansión golosa finita y el bucle termina con suma igual a n.
La expansión golosa no siempre es mínima—veintitrés en cubos es el ejemplo clásico donde la codicia usa dos cubos de dos y siete unos, mientras otras identidades usan menos cubos—pero es única como procedimiento, totalmente determinista y fácil de auditar término a término. El cero se representa como suma vacía con la cadena cero. Las potencias perfectas colapsan a un solo término: cien con k igual a dos produce solo diez al cuadrado.
Contrato de entrada, campos de respuesta y validación
Un campo formula breve reescribe la regla golosa para que la interfaz no invente prosa. Las raíces k-ésimas enteras se calculan con búsqueda binaria verificada sobre multiplicaciones enteras, de modo que el Math.pow flotante solo es semilla, nunca la única autoridad. Un tope de diez mil términos protege el tamaño de respuesta si restos extremos apilaran unos; con el límite de n publicado esa guarda es cinturón de seguridad, no camino habitual.
Ejemplo: n igual a treinta y k igual a dos devuelve bases cinco, dos, uno y la cadena cinco al cuadrado más dos al cuadrado más uno al cuadrado.
Qué puede hacer con ella
Demostraciones de Waring en clase
Muestre al alumnado cómo la codicia construye una suma de cuadrados o cubos para cualquier n, con cada base y valor listos para la pizarra.
Oráculos de concursos y LMS
Califique tareas de programación que acepten cualquier expansión válida en potencias k-ésimas comparándolas con esta referencia golosa determinista.
Preguntas frecuentes
¿Cómo funciona la calculadora de representación del problema de Waring?
Envíe el entero no negativo n y el exponente k >= 2.
¿La expansión golosa es siempre la más corta?
No. La codicia es única como procedimiento y siempre correcta como suma, pero pueden existir expansiones más cortas (por ejemplo en algunos cubos).
¿Cómo se escribe el 30 como suma de cuadrados?
El mayor cuadrado que no supera a 30 es 25, y quedan 5. Luego cabe 4, queda 1, y por último 1. Así, 30 = 5² + 2² + 1², tres términos que vuelven a sumar 30.
¿Qué ocurre si el número ya es una potencia exacta?
Se devuelve como un solo término. Con cuadrados, el 100 es simplemente 10², porque el mayor cuadrado que cabe es el número entero y no sobra nada.
¿Qué resultado se obtiene para el cero?
El cero se muestra como una suma vacía, escrita simplemente como cero. No hay que restar ninguna potencia, así que la lista de términos queda vacía y el total sigue coincidiendo.
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/waring-representation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":30,"k":2}'const res = await fetch("https://api.kit.forhosting.com/numth/waring-representation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 30,
"k": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/waring-representation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 30,
"k": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/waring-representation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":30,"k":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":30,"k":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/waring-representation", 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": 30,
"k": 2
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.waring_representation",
"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.
Límites
max_n | 1000000000 |
max_k | 40 |
max_terms | 10000 |
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
Las potencias inferiores a dos se rechazan con invalid_input en lugar de tratar en silencio las primeras potencias como suma trivial de unos.
Qué significa la representación golosa al estilo Waring
Este endpoint no busca la representación más corta ni demuestra g(k).
Contrato de entrada, campos de respuesta y validación
Envíe por POST un cuerpo JSON con dos enteros obligatorios: n, el objetivo no negativo de cero a mil millones, y k, el exponente con mínimo dos y máximo cuarenta. Se aceptan los alias number para n y power para k por comodidad del cliente. Campos ausentes, no enteros, fracciones, n negativo, k menor que dos o valores por encima de los techos publicados fallan con invalid_input indicando el problema; esos fallos no se facturan. En éxito la carga repite n y k, lista las bases en el orden que produjo la codicia (no creciente), expande terms como objetos con base, power y value, informa term_count y sum (siempre igual a n) y construye una cadena legible uniendo cada base caret potencia con signos más.
Dónde aporta valor una API de suma golosa de potencias
Los cursos de teoría de números y la preparación olímpica necesitan un oráculo en vivo que convierta una charla abstracta sobre Waring en bases concretas que el alumnado pueda comprobar a mano. Mantenga n y k dentro de los límites documentados, fije representation y bases en las pruebas, y obtendrá expansiones al estilo Waring reproducibles para deberes, plugins LMS y workers de borde sin levantar infraestructura de matemática simbólica propia. Las plataformas de programación usan el mismo bucle goloso como solución de referencia cuando el enunciado pide cualquier expansión válida, no la mínima, y una pequeña API de parse evita embarcar multiprecisión o CAS en los correctores. Los cuadernos de investigación que comparan la longitud golosa con cotas conocidas de g(k) pueden enviar muchos pares (n, k) por la API y registrar term_count sin reimplementar la raíz entera en cada lenguaje. Al ser parse de nivel A puro, cada llamada correcta cuesta el precio base publicado $0.002 sin tokens de modelo ni red saliente, y la entrada inválida no consume saldo.
Casos de integración
Líneas base de longitud mínima
Registre en lote el term_count goloso frente a cotas conocidas de g(k) al explorar cuánto se aleja la codicia de la longitud óptima de Waring.
Preguntas técnicas
¿Por qué se exige que k sea al menos dos?
Las preguntas al estilo Waring sobre potencias k-ésimas empiezan en los cuadrados (k=2). Las primeras potencias solo partirían n en unos; k menor que dos se rechaza con invalid_input y no se factura.
¿Qué contiene la respuesta?
n y k repetidos, bases en orden goloso, terms con base/power/value, term_count, sum igual a n, una cadena representation y una etiqueta formula breve.
¿Cuánto cuesta la herramienta de representación de Waring?
La herramienta del navegador es gratuita. Las peticiones API usan saldo prepago de KIT a $0.002 por llamada correcta; la entrada inválida no se factura.