Rappresentazione problema di Waring
Con i quadrati, il 30 diventa 25 + 4 + 1, cioè 5² + 2² + 1², prendendo sempre il quadrato più grande che ci sta. Scelga un numero e una potenza di almeno due per vedere ogni termine e una somma che torna. Gratis nel Suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- N
- 30
- K
- 2
- Basi
- 5, 2, 1
- Numero di termini
- 3
- Sum
- 30
- Rappresentazione
- 5^2 + 2^2 + 1^2
La domanda classica di Waring chiede come ogni numero naturale si scriva come somma di potenze k-esime di interi non negativi. Questa capacità implementa la costruzione avida standard: dato un intero non negativo n e un esponente k di almeno due, sottrae in modo ripetuto la maggiore potenza k-esima perfetta che non supera il resto finché non resta nulla. Lei riceve l'elenco ordinato delle basi, il valore di ciascun termine, una stringa di visualizzazione e una somma uguale a n a ogni chiamata riuscita. I limiti mantengono n e k in aritmetica intera sicura per worker di edge senza multiprecisione.
Cosa significa la rappresentazione avida in stile Waring
Una potenza k-esima è un intero della forma m elevato a k, dove m è un intero non negativo e k un esponente fisso. Il problema di Waring in teoria dei numeri studia il minimo g(k) tale che ogni naturale sia somma di al più g(k) potenze di quel tipo; teoremi celebri danno g(2) uguale a quattro (teorema dei quattro quadrati di Lagrange) e stime esplicite per k maggiori.
Applica l'euristica avida trasparente di manuali e gare: mentre il resto r è positivo, scelga il massimo m con m alla k al più r, registri quella base e sostituisca r con r meno m alla k. Poiché uno alla k vale sempre uno per k maggiore o uguale a uno, ogni intero non negativo ammette un'espansione avida finita e il ciclo termina con somma uguale a n.
L'espansione avida non è sempre minima—ventitré in cubi è l'esempio classico in cui l'avidità usa due cubi di due e sette uni, mentre altre identità usano meno cubi—ma è unica come procedura, del tutto deterministica e facile da controllare termine per termine. Lo zero è rappresentato come somma vuota con la stringa zero. Le potenze perfette collassano in un solo termine: cento con k uguale a due produce solo dieci al quadrato.
Contratto di ingresso, campi di risposta e validazione
Un breve campo formula riafferma la regola avida così l'interfaccia non inventa prosa. Le radici k-esime intere si calcolano con ricerca binaria verificata su moltiplicazioni intere, cosicché Math.pow in virgola mobile è solo un seme, mai l'unica autorità. Un tetto di diecimila termini protegge la dimensione della risposta se resti estremi accatastassero uni; con il limite di n pubblicato quella guardia è una cintura di sicurezza, non un percorso comune.
Esempio: n uguale a trenta e k uguale a due restituisce basi cinque, due, uno e la stringa cinque al quadrato più due al quadrato più uno al quadrato.
Casi d'uso
Dimostrazioni di Waring in aula
Mostri agli studenti come l'avidità costruisce una somma di quadrati o cubi per qualsiasi n, con ciascuna base e valore pronti per la lavagna.
Oracoli per gare e LMS
Valuti compiti di programmazione che accettano qualsiasi espansione valida in potenze k-esime confrontandola con questo riferimento avido deterministico.
Domande frequenti
Come funziona il calcolatore di rappresentazione del problema di Waring?
Invii l'intero non negativo n e l'esponente k >= 2.
L'espansione avida è sempre la più corta?
No. L'avidità è unica come procedura e sempre corretta come somma, ma possono esistere espansioni più corte (ad esempio per alcuni cubi).
Come si scrive il 30 come somma di quadrati?
Il quadrato più grande che non supera 30 è 25, e resta 5. Poi ci sta 4, resta 1, e infine 1. Quindi 30 = 5² + 2² + 1², tre termini che sommati ridanno 30.
Cosa succede se il numero è già una potenza esatta?
Viene restituito come un solo termine. Con i quadrati, il 100 è semplicemente 10², perché il quadrato più grande che ci sta è il numero intero e non avanza nulla.
Qual è il risultato per lo zero?
Lo zero compare come una somma vuota, scritta semplicemente zero. Non c'è alcuna potenza da togliere, quindi l'elenco dei termini resta vuoto e il totale continua a tornare.
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/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)Esempio di richiesta
{
"n": 30,
"k": 2
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.waring_representation",
"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 | 1000000000 |
max_k | 40 |
max_terms | 10000 |
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
Le potenze inferiori a due sono rifiutate con invalid_input invece di trattare in silenzio le prime potenze come somma banale di uni.
Cosa significa la rappresentazione avida in stile Waring
Questo endpoint non cerca la rappresentazione più corta né dimostra g(k).
Contratto di ingresso, campi di risposta e validazione
Invii con POST un corpo JSON con due interi obbligatori: n, l'obiettivo non negativo da zero a un miliardo, e k, l'esponente con minimo due e massimo quaranta. Si accettano gli alias number per n e power per k per comodità del client. Campi assenti, non interi, frazioni, n negativo, k inferiore a due o valori oltre i massimi pubblicati falliscono con invalid_input indicando il problema; tali fallimenti non sono fatturati. In caso di successo il payload ripete n e k, elenca le basi nell'ordine prodotto dall'avidità (non crescente), espande terms come oggetti con base, power e value, riporta term_count e sum (sempre uguale a n) e costruisce una stringa leggibile unendo ciascuna base caret potenza con segni più.
Dove un'API di somma avida di potenze crea valore
I corsi di teoria dei numeri e la preparazione olimpica necessitano di un oracolo dal vivo che trasformi una discussione astratta su Waring in basi concrete che gli studenti possano verificare a mano. Mantenga n e k entro i limiti documentati, fissi representation e bases nei test, e otterrà espansioni in stile Waring riproducibili per compiti, plugin LMS e worker di edge senza erigere infrastruttura di matematica simbolica propria. Le piattaforme di coding usano lo stesso ciclo avido come soluzione di riferimento quando il testo chiede qualsiasi espansione valida piuttosto che quella minima, e una piccola API di parse evita di imbarcare multiprecisione o CAS nei correttori. I notebook di ricerca che confrontano la lunghezza avida con stime note di g(k) possono inviare molte coppie (n, k) tramite l'API e registrare term_count senza reimplementare la radice intera in ogni linguaggio. Poiché l'implementazione è parse di livello A pura, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello né rete in uscita, e l'ingresso non valido non consuma saldo.
Casi di integrazione
Baseline di lunghezza minima
Registri in batch il term_count avido rispetto a stime note di g(k) per esplorare quanto l'avidità si discosti dalla lunghezza ottimale di Waring.
Domande tecniche
Perché k deve essere almeno due?
Le domande in stile Waring sulle potenze k-esime partono dai quadrati (k=2). Le prime potenze spezzerebbero solo n in uni; k inferiore a due è rifiutato con invalid_input e non è fatturato.
Cosa contiene la risposta?
n e k ripetuti, bases in ordine avido, terms con base/power/value, term_count, sum uguale a n, una stringa representation e una breve etichetta formula.
Quanto costa lo strumento di rappresentazione di Waring?
Lo strumento nel browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; l'ingresso non valido non è fatturato.