Jacobsthal-Zahlen-Rechner
Geben Sie eine ganze Zahl n von 0 bis 40 ein und erhalten Sie die n-te Jacobsthal-Zahl exakt: Die Folge lautet 0, 1, 1, 3, 5, 11, 21, 43, und J(40) ist 366503875925. Jedes Glied ist das vorige plus das Doppelte des vorletzten. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Index n
- 0
- Jacobsthal-Zahl
- 0
Berechnen Sie die n-te Jacobsthal-Zahl aus einer einzigen Ganzzahl n zwischen 0 und 40. Das Werkzeug gibt n und dessen value über die geschlossene Form J(n) = (2^n - (-1)^n)/3 zurück, gleichwertig zur Rekurrenz J(n) = J(n-1) + 2·J(n-2).
Die Jacobsthal-Folge
Die Jacobsthal-Zahlen beginnen mit J(0) = 0 und J(1) = 1 und folgen dann der Rekurrenz J(n) = J(n-1) + 2·J(n-2), was 0, 1, 1, 3, 5, 11, 21, 43, 85, 171, 341 und so weiter ergibt. Jeder Term ist ungefähr doppelt so groß wie der vorherige, da aufeinanderfolgende Jacobsthal-Zahlen abwechselnd knapp über und unter Zweierpotenzen liegen; sie sind die ganzen Zahlen, die 2^n/3 am nächsten kommen.
Dieser Rechner nimmt über das Pflichtfeld n eine einzige nicht negative Ganzzahl entgegen und gibt ein Objekt zurück, in dem dieses n zurückgegeben wird, samt seinem value, dem n-ten Term der Folge.
Wie der Wert berechnet wird
Statt die Rekurrenz zu durchlaufen, wertet die Implementierung die geschlossene Form J(n) = (2^n - (-1)^n)/3 direkt aus. Sie berechnet 2^n mit BigInt-Arithmetik beliebiger Genauigkeit, subtrahiert 1, wenn n gerade ist, und addiert 1, wenn n ungerade ist (das ist der Term (-1)^n), und teilt durch 3, was stets exakt aufgeht, weil 2^n - (-1)^n nachweislich durch drei teilbar ist. Das exakte BigInt-Ergebnis wird dann in eine JavaScript-Zahl umgewandelt.
Eingaberegeln und Fehler
Das einzige Feld n muss eine Ganzzahl im geschlossenen Bereich 0 bis 40 sein. Es gibt keinen decimals-Parameter und keine optionale Konfiguration, sodass Anfragen minimal und unmissverständlich sind. Da die Prüfung vorab erfolgt und die Arithmetik exakt ist, sind Fehlschläge günstig und gefahrlos erneut versuchbar, und der maschinenlesbare Fehlercode lässt einen Client eine fehlerhafte Anfrage von einem Transportproblem unterscheiden.
Anwendungsfälle
Kombinatorik und Zahlentheorie
Schlagen Sie einen exakten Jacobsthal-Term nach, wenn Sie mit Parkettierungen, Cunningham-Ketten oder 2-adischen Identitäten arbeiten.
Arbeit mit Zahlenfolgen und OEIS
Erzeugen Sie Referenzwerte von J(n), um Code oder eine Formel ohne lokale Bibliothek gegen A001045 zu prüfen.
Rekurrenzen lehren
Zeigen Sie, dass die geschlossene Form (2^n - (-1)^n)/3 für jedes n mit J(n) = J(n-1) + 2·J(n-2) übereinstimmt.
Häufige Fragen
Was gibt es zurück?
Ein Objekt mit Ihrem n und value, der n-ten Jacobsthal-Zahl, berechnet aus J(n) = (2^n - (-1)^n)/3.
Warum ist n auf 40 begrenzt?
Damit das exakte BigInt-Ergebnis in den Bereich der sicheren Ganzzahlen bis 2^53 passt; J(40) ist 366503875925, ohne Genauigkeitsverlust.
Ist das Ergebnis exakt?
Ja. Jacobsthal-Zahlen sind Ganzzahlen, und die Division durch drei geht stets exakt auf, sodass keine Rundung stattfindet.
Wofür werden Jacobsthal-Zahlen verwendet?
In Kombinatorik und Zahlentheorie, etwa bei Parkettierungen, Cunningham-Ketten und 2-adischen Identitäten. Außerdem sind sie praktische Vergleichswerte, wenn Sie Ihr eigenes Programm oder Ihre Formel mit der veröffentlichten Folge A001045 abgleichen.
Gibt es eine Formel ohne schrittweises Rechnen?
Ja. Nehmen Sie 2 hoch n, ziehen Sie 1 ab, wenn n gerade ist, oder addieren Sie 1, wenn n ungerade ist, und teilen Sie durch 3. Für J(3) ergibt 8 plus 1 den Wert 9, geteilt durch 3 also 3, und die Division geht immer auf.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/math/jacobsthal-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":5}'const res = await fetch("https://api.kit.forhosting.com/math/jacobsthal-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/jacobsthal-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/jacobsthal-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/jacobsthal-number", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"n": 5
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.jacobsthal_number",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Wie der Wert berechnet wird
Der Definitionsbereich ist bei n = 40 gedeckelt, genau damit die Antwort im Bereich der sicheren Ganzzahlen bis 2^53 bleibt und bei dieser Umwandlung nie an Genauigkeit verliert: J(40) ist 366503875925, deutlich unter der Grenze. Deshalb ist das Werkzeug deterministisch und reproduzierbar, ohne angesammelte Fließkomma-Abweichung aus dem Summieren vieler vorheriger Terme.
Eingaberegeln und Fehler
Alles andere löst einen typisierten invalid_input-Fehler mit der Meldung "n inválido" aus: ein negativer Wert, ein Wert über 40, eine nicht ganze Zahl wie 2.5, ein String oder ein fehlendes Feld scheitern allesamt an derselben Prüfung, bevor irgendeine Berechnung läuft. Das durchgerechnete Beispiel übergibt n = 0 und erhält value 0, den ersten Term der Folge.
Technische Fragen
Welche Eingabe ist ungültig?
Nicht ganze Zahlen, negative Werte, Werte über 40 oder ein fehlendes n liefern einen typisierten invalid_input-Fehler mit der Meldung "n inválido".
Ist es kostenlos?
Ja im Browser als tier-A-Widget. Die deterministische API kostet $0.002 pro erfolgreichem Aufruf; fehlgeschlagene Aufgaben werden nicht berechnet.