Evil-Zahlen-Prüfer
3 ist eine Evil-Zahl: Binär geschrieben ist sie 11, mit 2 Einsen, und 2 ist gerade. Geben Sie eine nichtnegative ganze Zahl ein und sehen Sie ihre Binärform, die Anzahl der Einsen und ob diese gerade ist. 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
- N
- 3
- Binär
- 11
- Anzahl der Einsen
- 2
- Parität der Einsen
- even
Eine Evil-Zahl ist eine nichtnegative ganze Zahl, deren Binärdarstellung eine gerade Anzahl von Eins-Bits enthält. Null ist evil, weil die einzige Binärziffer null ist und die Einsen-Anzahl gerade; drei ist evil, weil das Binärwort elf zwei Einsen hat; eins ist nicht evil, weil eine einzelne Eins ungerade ist (die komplementäre Klasse heißt oft odious). Dieser Prüfer validiert eine nichtnegative ganze Zahl, baut die Binärzeichenkette, zählt gesetzte Bits mit reiner Integer-Arithmetik und liefert einen klaren Booleschen Wert plus jedes Zwischenfeld, damit Lernende, Lehrkräfte und Skriptautoren die Klassifikation ohne Computeralgebrasystem und ohne undurchsichtige Bit-Bibliothek prüfen können. Negative Eingaben werden als ungültig abgelehnt.
Was eine Evil-Zahl ist und wie der binäre Popcount entscheidet
Schreiben Sie jede nichtnegative ganze Zahl in der Basis zwei und zählen Sie, wie viele Ziffern eins sind. Ist diese Populationszählung—auch Hamming-Gewicht oder Anzahl gesetzter Bits genannt—gerade, so ist die Zahl evil; ist sie ungerade, so ist die Zahl odious und damit nach dieser Definition nicht evil. Der Name stammt aus der rekreativen Zahlentheorie und gehört zur Thue–Morse-Folge, in der Evil-Zahlen die Positionen gerader Parität einnehmen.
Konkrete Fälle helfen: null hat Binär null und null Einsen, ist also evil; eins hat Binär eins und eine Eins, ist also odious; zwei ist Binär zehn mit einer Eins und odious; drei ist Binär elf mit zwei Einsen und evil; vier ist Binär hundert mit einer Eins und odious; fünf ist Binär hunderteins mit zwei Einsen und evil. Die Definition ist rein kombinatorisch auf der Bitkette—sie hängt weder von Primfaktoren noch von Ziffernsummen in der Basis zehn noch von Gleitkommanäherungen ab.
Lehrmaterialien stellen Evil- und Odious-Zahlen oft Perfect-, Abundant- oder Happy-Zahlen gegenüber: jene Eigenschaften prüfen Teiler oder Dezimalziffern, während der Evil-Status nur die binäre Parität der Einsen prüft. Weil jede nichtnegative ganze Zahl eine endliche Binärexpansion hat, endet die Eigenschaft stets nach einer zur Bitlänge proportionalen Schrittzahl und eignet sich ideal für automatisierte Prüfungen, Wettbewerbsaufgaben, Programmierinterviews und Klassendemonstrationen, in denen Lernende den Binärweg und nicht nur ein Ja-oder-Nein-Label zeigen müssen.
Praktische Nutzung, Grenzen, Preise und verwandte Suchen
Nutzen Sie das Browser-Werkzeug, wenn Sie ein sofortiges Evil-Zahl-Urteil wünschen, während Sie Bitparitätsprobleme studieren, eine Zahlentheorie-Stunde vorbereiten oder eine Wettbewerbsantwort prüfen, ohne ein Computeralgebrasystem zu installieren. Akzeptierte Eingaben sind nichtnegative ganze Zahlen bis zum JavaScript-Safe-Integer-Maximum, sodass Unterrichtsbeispiele und Interview-Demos in gewöhnlichen Zahlenbereichen exakt bleiben. Ergebnisse hängen nie von Uhren, Zufallsseeds oder entfernten Arithmetikdiensten ab.
Beim Unterrichten bevorzugen Sie gepaarte Beispiele für beide Ausgänge: drei und fünf als wahre Evil-Fälle, eins und zwei als falsche Odious-Fälle, null als Grenzfall gerader leerer Einsen und eine negative Eingabe für den harten Ablehnungspfad. Weitere Zahlentheorie-Landings in diesem Kit zielen auf andere Absichten wie Happy Numbers, Repunits oder Primtests; diese Seite ist speziell für Personen, die prüfen wollen, ob eine gegebene ganze Zahl eine Evil-Zahl ist oder gerade viele binäre Einsen hat.
Verdrahten Sie den Endpunkt in Interview-Übungs-Apps, Freizeitmathematik-Seiten, Integer-Klassifikations-Pipelines oder Lehr-Dashboards, wo Sie bereits exakte Bit-Arithmetik undurchsichtigen Black-Box-Rechnern vorziehen.
Anwendungsfälle
Klassendemonstrationen des binären Hamming-Gewichts
Lehrkräfte können zeigen, wie gerade versus ungerade Anzahlen von Eins-Bits Evil- von Odious-Zahlen trennen, wobei jedes Zwischenfeld für die Diskussion sichtbar bleibt.
Automatisierte Pipelines zur Integer-Klassifikation
Skripte, die ganze Zahlen nach binärer Einsen-Parität markieren, können einen einzigen deterministischen, pro Item bepreisten Endpunkt aufrufen, statt ad-hoc Bit-Zählung einzubetten.
Häufige Fragen
Was ist eine Evil-Zahl?
Eine nichtnegative ganze Zahl mit einer geraden Anzahl Einsen in der Binärdarstellung. Beispiel: 3 ist Binär 11 (zwei Einsen) und damit evil; 1 ist Binär 1 (eine Eins) und damit nicht.
Sind die Ergebnisse deterministisch?
Es gibt kein Modell, keinen Netzaufruf und keine Zufälligkeit im Pfad.
Ist 3 eine Evil-Zahl?
Ja. Binär geschrieben ist 3 gleich 11, und das enthält zwei Einsen. Zwei ist eine gerade Anzahl, also ist 3 eine Evil-Zahl.
Was ist eine Odious-Zahl?
Das ist der Gegenfall: eine Zahl, deren Binärform eine ungerade Anzahl Einsen hat, etwa 1. Jede nichtnegative ganze Zahl ist entweder Evil oder Odious, und das Ergebnis zeigt die Parität an.
Was passiert bei negativen Zahlen?
Sie werden mit einer klaren Meldung abgelehnt. Die Eigenschaft ist nur für nichtnegative ganze Zahlen definiert, weil sie auf der Binärschreibweise ohne Vorzeichen beruht.
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/numth/evil-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":3}'const res = await fetch("https://api.kit.forhosting.com/numth/evil-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/evil-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/evil-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/evil-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": 3
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.evil_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
Was eine Evil-Zahl ist und wie der binäre Popcount entscheidet
Die komplementäre Odious-Klasse wird nur der Klarheit wegen erwähnt; diese Fähigkeit beantwortet die Evil-Frage und meldet weiterhin ones_parity, damit Sie beide Seiten in einer Antwort sehen.
Wie dieser Prüfer den Evil-Status bewertet und was die API liefert
Die Implementierung prüft, dass n vorhanden, endlich, ganzzahlig und mindestens null ist. Nutzen Sie es in Hausaufgaben-Pipelines, Wettbewerbs-Validatoren, Interview-Sandboxes oder jedem Workflow, der eine reproduzierbare Binärparitätsprüfung braucht, ohne auf jeder Maschine spezialisierte Zahlentheorie-Pakete zu installieren. Rufen Sie die Fähigkeit mit einem Feld n auf, das eine nichtnegative ganze Zahl enthält, entweder als JSON-Zahl im sicheren Integer-Bereich oder als Ziffernzeichenkette, die zu einer ganzen Zahl normalisiert wird. Die Aliasse number und value werden für dasselbe Feld akzeptiert. Anschließend baut sie die Binärdarstellung ohne Präfix 0b (null wird zur Zeichenkette null), zählt Einsen, indem sie wiederholt das niederwertigste Bit nimmt und ganzzahlig halbiert, und setzt is_evil auf true, wenn diese Zählung modulo zwei null ist. Die Antwort liefert außerdem ones_count, ones_parity als even oder odd, binary als Bitkette und eine kurze Formelzeichenkette mit Popcount und Evil- oder Odious-Schluss. Fehlendes n, Nicht-Ganzzahlen, Brüche, Werte über dem veröffentlichten Maximum und jede negative Zahl scheitern mit invalid_input und werden nicht berechnet. Der Preis ist pauschal $0.002 pro erfolgreicher Anfrage unter der Einheit item.
Praktische Nutzung, Grenzen, Preise und verwandte Suchen
Nutzen Sie die API, wenn ein Skript, ein Hausaufgaben-Checker oder eine Bildungsplattform stabiles JSON für viele Werte mit festem Vertrag braucht. Jede erfolgreiche Anfrage ist ein abrechenbares Item zu $0.002; fehlgeschlagene Validierung wird nicht berechnet. Weil binary und ones_count zusammen geliefert werden, können Lernende den Popcount von Hand nachrechnen und Zeile für Zeile mit der API abgleichen. Die Auslieferung funktioniert über Webformular, Task-API, SDK-Clients und andere KIT-Kanäle, ohne den mathematischen Vertrag zu ändern.
Integrationsbeispiele
Bitparitätsprüfungen in Interviews und Wettbewerben
Kandidaten und Bewertende können die Evil-Zahl-Klassifikation für beliebige nichtnegative ganze Zahlen prüfen und binary sowie ones_count inspizieren, ohne eine lokale Popcount-Schleife zu schreiben.
Technische Fragen
Ist null eine Evil-Zahl?
Ja. Null hat Binär 0 und null Einsen; null ist gerade, daher ist is_evil true.
Was geschieht, wenn n negativ ist?
Die Anfrage scheitert mit invalid_input. Dieser Prüfer verlangt eine nichtnegative ganze Zahl; Negative werden abgelehnt und nicht berechnet.
Ist der Evil-Zahlen-Prüfer kostenlos?
Das Browser-Werkzeug läuft kostenlos auf Ihrem Gerät. API-Aufrufe nutzen vorausbezahltes KIT-Guthaben zu $0.002 pro erfolgreichem Item; Validierungsfehler werden nicht berechnet.