Vereinfachen Sie Ihren Arbeitsablauf: Suchen Sie miniwebtool.
Erweitern
Startseite > Mathematik > Grundrechenoperationen > Digitale Wurzel Rechner
 

Digitale Wurzel Rechner

Berechnen Sie die digitale Wurzel einer beliebigen Zahl, indem Sie ihre Ziffern wiederholt summieren, bis eine einzelne Ziffer übrig bleibt. Unterstützt additive und multiplikative Modi, Basen 2/8/10/16, animierte Schritt-für-Schritt-Aufschlüsselung, O(1)-Formelüberprüfung und Persistenzzähler.

Digitale Wurzel Rechner

Embed Digitale Wurzel Rechner Widget

Digitale Wurzel Rechner

Willkommen beim Digitale Wurzel Rechner, einem interaktiven Tool, das die Ziffern einer beliebigen Zahl wiederholt summiert (oder multipliziert), bis eine einzige Ziffer übrig bleibt. Geben Sie eine nicht-negative Ganzzahl ein, wählen Sie den Reduktionsmodus und die Basis, und sehen Sie die vollständige animierte Aufschlüsselung des Reduktionsprozesses, die additive Persistenz, eine formelbasierte Verifizierung mit der berühmten geschlossenen Form 1 + ((n-1) mod 9), ein Ziffernhistogramm der Eingabe und eine Visualisierung der Iteration.

Was ist eine digitale Wurzel?

Die digitale Wurzel (oder Ziffernsumme) einer nicht-negativen Ganzzahl ist die einstellige Zahl, die durch einen iterativen Prozess der Summierung der Ziffern in aufeinanderfolgenden Iterationen ermittelt wird, bis das Ergebnis nur noch eine Ziffer hat. Es ist eine einfache Operation mit überraschend tiefen Verbindungen zur modularen Arithmetik, Zahlentheorie und klassischen Fehlererkennungstechniken.

Beispielsweise wird die digitale Wurzel von 65.536 wie folgt berechnet:

  • 6 + 5 + 5 + 3 + 6 = 25
  • 2 + 5 = 7

Somit ist die additive digitale Wurzel von 65.536 gleich 7. Die Anzahl der Iterationen, die erforderlich sind, um eine einzelne Ziffer zu erreichen (in diesem Fall 2), wird als additive Persistenz bezeichnet.

Die geschlossene Formel

$$\text{digitaleWurzel}(n) = \begin{cases} 0 & \text{falls } n = 0 \\ 1 + ((n-1) \bmod 9) & \text{falls } n > 0 \end{cases}$$

Diese O(1)-Formel funktioniert, weil 10 kongruent zu 1 modulo 9 ist, weshalb auch jede Potenz von 10 kongruent zu 1 modulo 9 ist. Das bedeutet, dass eine Zahl und die Summe ihrer Ziffern immer kongruent modulo 9 sind – der Kern der "Neunerprobe".

Additive vs. Multiplikative digitale Wurzel

Additive digitale Wurzel

Wiederholtes Addieren der Ziffern, bis eine einzelne Ziffer übrig bleibt. Jede nicht-negative Ganzzahl hat eine wohldefinierte additive digitale Wurzel im Bereich 0–9 (Basis 10). Verwendung in der Numerologie, bei Prüfsummenverifizierungen (z. B. ISBN, Luhn-Algorithmus bei Kreditkarten) und in der klassischen Arithmetik.

Multiplikative digitale Wurzel

Wiederholtes Multiplizieren der Ziffern, bis eine einzelne Ziffer übrig bleibt. Die Anzahl der Iterationen wird als multiplikative Persistenz bezeichnet. Die kleinsten Zahlen mit der multiplikativen Persistenz 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 sind:

PersistenzKleinste ZahlReduktion
11010 → 0
22525 → 10 → 0
33939 → 27 → 14 → 4
47777 → 49 → 36 → 18 → 8
5679679 → 378 → 168 → 48 → 32 → 6
66.7886788 → 2688 → 768 → 336 → 54 → 20 → 0
768.8897 Iterationen
82.677.8898 Iterationen
926.888.9999 Iterationen
103.778.888.99910 Iterationen
11277.777.788.888.89911 Iterationen — der Rekord bis heute

Es wird vermutet, aber nicht bewiesen, dass keine positive Ganzzahl eine multiplikative Persistenz größer als 11 (zur Basis 10) hat. Dies ist eines der reizvollen ungelösten Probleme in der elementaren Zahlentheorie, das 1973 von Neil Sloane aufgestellt wurde.

Neunerprobe

Die Neunerprobe ist eine historische Methode zur Verifizierung von Arithmetik, die noch vor der Erfindung von Taschenrechnern verbreitet war. Die Schlüsseleigenschaft: Für beliebige Ganzzahlen \(a\) und \(b\) gilt,

$$\text{digitaleWurzel}(a + b) = \text{digitaleWurzel}(\text{digitaleWurzel}(a) + \text{digitaleWurzel}(b))$$ $$\text{digitaleWurzel}(a \times b) = \text{digitaleWurzel}(\text{digitaleWurzel}(a) \times \text{digitaleWurzel}(b))$$

Das bedeutet, dass man eine handschriftliche Summe oder ein Produkt schnell stichprobenartig prüfen kann, indem man die digitalen Wurzeln der Operanden und des Ergebnisses berechnet und deren Konsistenz prüft. Wenn sie nicht übereinstimmen, enthält die ursprüngliche Rechnung einen Fehler. (Stimmen sie überein, könnte die Rechnung dennoch falsch sein, aber viele häufige Fehler werden abgefangen.) Mittelalterliche Buchhalter und Rechnungsführer des 19. Jahrhunderts nutzten dies routinemäßig.

Wie man diesen Rechner benutzt

  1. Zahl eingeben — eine beliebige nicht-negative Ganzzahl. Trennzeichen wie Kommas, Leerzeichen und Unterstriche werden akzeptiert.
  2. Reduktionsmodus wählen — Additiv (wiederholte Quersumme) oder Multiplikativ (wiederholtes Querprodukt).
  3. Basis wählen — Dezimal (Standard), Binär, Oktal oder Hexadezimal. Für nicht-dezimale Basen können Sie Präfixe wie 0xFF, 0b1011 oder 0o777 verwenden.
  4. Berechnen klicken — das Tool zeigt die endgültige einzelne Ziffer, die animierte schrittweise Aufschlüsselung mit Ziffernhervorhebung, die additive Persistenz, ein Diagramm der schrumpfenden Ziffernanzahl pro Iteration und — falls anwendbar — eine formelbasierte O(1)-Verifizierung.

Das Ergebnis verstehen

  • Digitale Wurzel — die endgültige einzelne Ziffer nach allen Reduktionen.
  • Persistenz — wie viele Iterationen benötigt wurden, um eine einzelne Ziffer zu erreichen.
  • Ziffernanzahl — wie viele Ziffern die ursprüngliche Zahl in der gewählten Basis hat.
  • Formel-Verifizierung (nur additiv Basis 10) — zeigt das Ergebnis der geschlossenen O(1)-Formel und bestätigt die Übereinstimmung mit dem iterativen Ergebnis.
  • Ziffernhistogramm — Häufigkeit jeder Ziffer in der eingegebenen Zahl.
  • Schritt-Kaskade — jede Iteration wird mit der vollständigen Ziffernerweiterung, dem Operator und dem hervorgehobenen Ergebnis angezeigt.

Anwendungen

  • Prüfsummenalgorithmen — ISBN-10, der Luhn-Algorithmus für Kreditkarten und viele andere Validierungsschemata verwenden eine Arithmetik, die der digitalen Wurzel ähnelt.
  • Lehre der modularen Arithmetik — digitale Wurzeln sind eine praktische Einführung in Kongruenzklassen und das Verhalten von Modulo 9.
  • Fehlererkennung — die Neunerprobe bleibt ein nützlicher Plausibilitätscheck für handschriftliche Rechnungen.
  • Numerologie — die Reduzierung eines Namens, Geburtsdatums oder einer bedeutenden Zahl auf eine einzige Ziffer hat eine jahrhundertelange kulturelle Tradition.
  • Unterhaltungsmathematik — die Suche nach Zahlen mit maximaler multiplikativer Persistenz ist nach wie vor ein aktives Feld für Hobby-Mathematiker.

Digitale Wurzeln in anderen Basen

In jeder Basis \(b \geq 2\) ist die additive digitale Wurzel einer positiven Ganzzahl \(n\) gleich

$$\text{digitaleWurzel}_b(n) = 1 + ((n-1) \bmod (b-1))$$

wobei 0 auf 0 abgebildet wird. Für Basis 2 bedeutet dies, dass jede Zahl ungleich Null die digitale Wurzel 1 hat. Für Basis 16 können die einstelligen Ergebnisse 0 bis F sein.

Häufig gestellte Fragen

Was ist eine digitale Wurzel?

Die digitale Wurzel einer nicht-negativen Ganzzahl ist die einstellige Zahl, die durch wiederholtes Summieren (oder Multiplizieren) ihrer Ziffern ermittelt wird, bis nur noch eine Ziffer übrig bleibt. Zum Beispiel ist die additive digitale Wurzel von 12345: 1+2+3+4+5=15, dann 1+5=6, somit ist die digitale Wurzel 6.

Gibt es eine Formel zur Berechnung der digitalen Wurzel ohne Iteration?

Ja. Für eine positive Ganzzahl \(n\) zur Basis 10 entspricht die additive digitale Wurzel \(1 + ((n-1) \bmod 9)\). Für \(n=0\) ist die digitale Wurzel 0. Diese geschlossene Form ergibt sich daraus, dass 10 kongruent zu 1 modulo 9 ist, weshalb jede Zahl kongruent zur Summe ihrer Ziffern modulo 9 ist.

Was ist der Unterschied zwischen additiver und multiplikativer digitaler Wurzel?

Die additive digitale Wurzel summiert die Ziffern wiederholt (z.B. 679 → 6+7+9=22 → 2+2=4). Die multiplikative digitale Wurzel multipliziert die Ziffern wiederholt (z.B. 679 → 6×7×9=378 → 3×7×8=168 → 1×6×8=48 → 4×8=32 → 3×2=6). Multiplikative Wurzeln erreichen sofort Null, wenn eine Ziffer 0 ist.

Was ist die additive Persistenz?

Die additive Persistenz ist die Anzahl der Schritte, in denen die Ziffern einer Zahl summiert werden müssen, bis eine einzelne Ziffer erreicht wird. Zum Beispiel hat 12345 die Persistenz 2 (12345 → 15 → 6). Die kleinste Zahl mit einer additiven Persistenz n wächst extrem schnell.

Was ist die Neunerprobe?

Die Neunerprobe ist eine historische Methode zur Prüfung von Rechenergebnissen basierend auf digitalen Wurzeln. Da die digitale Wurzel einer Summe, Differenz oder eines Produkts der digitalen Wurzel derselben Operation angewandt auf die digitalen Wurzeln der Operanden entspricht, kann eine Rechnung verifiziert werden, indem geprüft wird, ob beide Seiten die gleiche digitale Wurzel haben.

Funktioniert die digitale Wurzel auch in anderen Basen als 10?

Ja. In jeder Basis \(b\) entspricht die additive digitale Wurzel von \(n\) für \(n > 0\) dem Wert \(1 + ((n-1) \bmod (b-1))\), wobei 0 auf 0 abgebildet wird. Im Binärsystem hat jede Zahl ungleich Null die digitale Wurzel 1. Im Hexadezimalsystem reichen die einstelligen Ergebnisse von 0 bis F.

Zusätzliche Ressourcen

Zitieren Sie diesen Inhalt, diese Seite oder dieses Tool als:

"Digitale Wurzel Rechner" unter https://MiniWebtool.com/de/digitale-wurzel-rechner/ von MiniWebtool, https://MiniWebtool.com/

vom miniwebtool Team. Aktualisiert: 19. Apr. 2026

Sie können auch unseren KI-Mathematik-Löser GPT ausprobieren, um Ihre mathematischen Probleme durch natürliche Sprachfragen und -antworten zu lösen.

Andere verwandte Tools:

Grundrechenoperationen:

Ausgewählte Werkzeuge:

Sonne-, Mond- & Aszendent-Rechner 🌞🌙✨Venus-Zeichen-RechnerModulo-RechnerMAC-adressen-lookupNamenszahl-RechnerKleidergrößen-UmrechnerMittelwert RechnerCPM-RechnerCollatz-Vermutung-RechnerNumerologie-RechnerZufälliger GeburtstagsgeneratorZahlen sortierenZufälliger Wahrheit oder Pflicht GeneratorFuß und Inch in Zentimeter UmrechnerProzentuale Wachstumsrate RechnerFarbschema-GeneratorMeisterzahl-RechnerMedian-RechnerRelative Standardabweichung RechnerZufälliger Kreditkarten-GeneratorSeelenzahl-RechnerIP-Adresse-zu-Binär-UmrechnerCaesar-VerschlüsselungswerkzeugSiedepunkt-Rechner📅 Datumsunterschied-RechnerZufällige Zeichenfolge generierenPersönlichkeitszahl-RechnerBinär-RechnerKI ParaphrasiererProzent zu Dezimal UmrechnerZeit-zu-Dezimal-UmrechnerFPS-KonverterZufälliger Superkraft-GeneratorBingo Karten GeneratorGrößen-Perzentil-RechnerTwitch EinnahmenrechnerZaun-RechnerZufälliger Gruppen-GeneratorKegelabwicklung Schablonen-GeneratorBlutspendezeit-RechnerMP3-LooperZufälliger Fake-Adressen-GeneratorZufälliger Zeit GeneratorStandardfehler-RechnerVideo-zu-Bild-ExtraktorGrill-RechnerMaßstabsmodell-UmrechnerNatürlicher Logarithmus RechnerSchicksalszahl-RechnerMondzeichen-RechnerHTML zu Text KonverterWelche ist meine Glückszahl?Kreuzworträtsel-ErstellerZufälligen Namen AuswählenMars-Zeichen-RechnerFacebook-Benutzer-ID-SucheTag des Jahres Rechner - Welcher Tag des Jahres ist heute?Logikgatter SimulatorPunkt-zu-Ebene-Abstand-RechnerAnagramm-GeneratorBarcode GeneratorSauerteig RechnerUS-Inflation-RechnerCMYK zu Hex KonverterLogarithmus zur Basis 2 RechnerProzentuale Steigerung RechnerZahlen RandomisiererZentimeter zu Fuß und Inches UmrechnerZufälliger FarbalgeneratorIP-Adresse zu Hex-UmrechnerWinkel-UmrechnerZufälliger TiergeneratorASCII-TabelleAudio SplitterKI-Text-HumanizerPunkt zu Punkt GeneratorZeilen alphabetisch sortierenFarbcode-Konverter Alle FormateListen-RandomisiererLottozahlen-GeneratorTeelöffel zu Esslöffel UmrechnerAusdruckszahl-RechnerChi-Quadrat-Test-RechnerEngelnummern-RechnerOhmsches Gesetz RechnerVariationskoeffizient-RechnerDefinitions- und Wertebereich-RechnerDefekte-Links-CheckerNonogramm-Generator (Picross)Video-KompressorVideos zusammenführenLogarithmus zur Basis 10 RechnerFrequenz- und Wellenlängen-UmrechnerPartielle AbleitungsrechnerDezimal-zu-Bruch-UmrechnerErweiterter Sternzeichen-KompatibilitätsanalysatorArkussinus-RechnerGehrungswinkel-RechnerKleinschrift-Generator ⁽ᶜᵒᵖʸ ⁿ ᵖᵃˢᵗᵉ⁾Mond-Zeichen-KompatibilitätsrechnerDistanz-Geschwindigkeit-Zeit-Dreieck-RechnerLöser für Arbeitsraten-AufgabenMischungsproblem-LöserAltersaufgaben LöserZugbegegnungs-ProblemlöserHydratations-RechnerPace zu Kalorien RechnerMedikamenten-DosierungsrechnerAlkohol-Kalorien-RechnerBody Recomposition RechnerZufälliger Debattenthemen-GeneratorZufälliger Katzen- & Hundenamen-GeneratorZufälliger Bibelvers GeneratorZufalls-Mathematikaufgaben-GeneratorZufallsabsatz-GeneratorZufälliger Satzgenerator EnglischKies-, Sand- und Mutterboden-RechnerStahlgewicht-RechnerDrehmoment-Rechner für SchraubenRohrströmungsrechnerTräger-LastrechnerDollar zu Gold UmrechnerOptionen-WahrscheinlichkeitsrechnerAktiensplit-RechnerESPP RechnerRechner für Mahngebühren bei RechnungenStundensatz-Rechner für FreiberuflerLeasing vs Kauf RechnerErweiterter TrinkgeldteilerPacklisten-GeneratorJetlag RechnerReisebudget-RechnerFlugdistanz-RechnerWärmeverlust-RechnerStromerzeugungskosten-RechnerWasserverbrauch-RechnerStromkosten-Rechner für HaushaltsgeräteHausenergieaudit-RechnerSolar ROI RechnerSolarpanel-RechnerKompost-Rechner (C:N-Verhältnis)Rasen-Dünger-RechnerFrostdaten-RechnerHochbeet Erde RechnerNPK Dünger RechnerSamenkeimrate-RechnerVideo Bitrate RechnerMusik Tonart TransponiererBPM Tapper für MusikFoto-Dateigrößen-RechnerMegapixel zu Druckgröße RechnerCrop-Faktor-RechnerBelichtungsdreieck-RechnerAnhängerlast-Rechner für FahrzeugeAuto Leasing Rechner0–60 und Viertelmeile RechnerEV Ladezeit RechnerEV Reichweiten RechnerKraftstoffverbrauch-RechnerPapierformat-ReferenzRinggrößen-UmrechnerAstronomische Einheit RechnerKraftstoffeffizienz-RechnerDatenübertragungsraten-RechnerDrehmoment-Rechner (Nm, ft-lb, kgf-cm)Durchgestrichener Text GeneratorWhitespace VisualisiererLesezeit-RechnerSprechzeit-RechnerAbsatz-ZählerSatzzaehlerSilbenzaehlerText zu Binär/Hex/ASCII KonverterLorem Picsum / Platzhalterbild-Generator.env Datei GeneratorGit-BefehlsgeneratorBcrypt Hash Generator und PrüferJWT GeneratorCSS Grid GeneratorRechner für numerische IntegrationZ-Transformations-RechnerFast-Fourier-Transformations-Rechner (FFT)Tensorprodukt-RechnerMatrixexponential-RechnerJordansche Normalform RechnerRing und KörperrechnerGruppentheorie-OrdnungsrechnerODE System LöserBernoulli DGL LöserEuler-Verfahren RechnerRichtungsfeld / Steigungsfeld PlotterLöser für gewöhnliche Differentialgleichungen zweiter OrdnungLöser für gewöhnliche Differentialgleichungen erster OrdnungStable Marriage Problem LöserNetzwerkfluss-Rechner (Maximaler Fluss)Planarer Graph PrüferHamilton-Pfad-PrüferTraveling Salesman Solver (TSP)Solver für lineare ProgrammierungInklusions-Exklusions-RechnerRekurrenzgleichungs-LöserAdjazenzmatrix-RechnerTopologische Sortierung RechnerGraphfärbung RechnerKarnaugh-Diagramm (K-Map) LöserBoolesche Algebra VereinfacherPartitionsfunktions-RechnerDigitale Wurzel RechnerFibonacci Zahl PrüferÄgyptische Brüche RechnerMöbius-Funktion-RechnerGoldbachsche Vermutung VerifiziererMersenne-Primzahl-PrüferPrimzahlzwillinge-FinderBefreundete Zahlen PrüferPerfekte Zahlen PrüferModulare ExponentiationsrechnerPermutationen mit Wiederholung RechnerEffektstärke-RechnerRelatives Risiko RechnerOdds Ratio RechnerKontingenztabellen-RechnerFisher-Exakt-Test-RechnerSpearman RangkorrelationsrechnerBeta-VerteilungsrechnerWeibull-Verteilung-RechnerExponentialverteilungsrechnerGeometrische Verteilung RechnerNegativer BinomialverteilungsrechnerHypergeometrische Verteilung RechnerF-Test / F-Verteilungs-RechnerBayes Theorem RechnerCharakteristisches Polynom RechnerMatrixpotenz-RechnerCholesky-Zerlegung-RechnerQR-Zerlegung RechnerMatrix-Diagonalisierung-RechnerCramersche Regel RechnerSpaltenraum-RechnerNullraum-RechnerWinkel zwischen Vektoren RechnerEinheitsvektor-RechnerVektorbetrag-RechnerKreuzprodukt-RechnerSkalarprodukt-RechnerMatrix-MultiplikationsrechnerMatrix Inverse RechnerRREF Rechner (Zeilenstufenform)Newton-Verfahren-RechnerJacobi-Matrix-RechnerOberflächenintegral-RechnerLinienintegral-RechnerrotationsrechnerDivergenz-RechnerGradientenrechner MehrdimensionalOptimierungsrechner AnalysisVerwandte Änderungsraten RechnerMomentane Änderungsrate RechnerDurchschnittliche Änderungsrate RechnerUnendliche Reihen SummenrechnerKonvergenztest-Rechner für ReihenPotenzreihen-RechnerMaclaurin-Reihen-RechnerL'Hôpital-Regel-RechnerUneigentliches Integral RechnerSimpson-Regel-RechnerTrapezregel-RechnerRiemann-Summen-RechnerParametrische Kurven PlotterRotationsflächen-RechnerRotationsvolumen-RechnerKoordinatengeometrie-AbstandsrechnerHeronsche Formel RechnerTangentenlinien-Rechner für KreiseWinkelhalbierende-RechnerInkreis-Rechner (Einbeschriebener Kreis)Umkreis-Rechner UmkreisberechnungGroßkreisentfernungsrechner3D EntfernungsrechnerTorus-RechnerKegelstumpf-RechnerUnregelmäßiger Polygon FlächenrechnerRegelmäßiges Polygon RechnerKegelschnitt-BestimmerHyperbel-RechnerParabel RechnerBinomischer Lehrsatz RechnerPascalsches Dreieck GeneratorProduktnotation Rechner (Pi Notation)Sigma-Notation-Rechner SummierungSatz über Rationale Nullstellen RechnerDescartes Vorzeichenregel RechnerParallele und Senkrechte Linien RechnerGeradengleichung RechnerStandardform zu Steigungsform UmrechnerPunkt-Steigungs-Formel RechnerNichtlineares Gleichungssystem LöserRationale Gleichungen LöserLiterale Gleichungen LöserTrigonometrische Gleichungen LöserExponentialgleichungs-LöserLogarithmische Gleichungen LöserQuartische Gleichung RechnerKubische Gleichung LöserschaetzungsrechnerZahl zu Bruch KonverterSprungzählung GeneratorStückpreis RechnerDecken- und BodenrechnerAbsolutwert-RechnerZahlenmuster FinderStellenwerttafel-GeneratorReihenfolge der Operationen Rechner (PEMDAS)Rechner für schriftliches Addieren und SubtrahierenLangmultiplikation-RechnerEinmaleins-Generator🎮 Spielwährungs-Umrechner🎲 Loot Drop Wahrscheinlichkeitsrechner🎰 Gacha Pity Rechner⚔️ DPS-Rechner🎮 Spielempfindlichkeits-Konverter❄️ Schneetag-Rechner🚚 Umzugskostenrechner🔍 Plagiatsprüfer📷 OCR / Bild zu Text📈 Liniendiagramm Ersteller🥧 Kreisdiagramm Ersteller📊 Balkendiagramm Ersteller🔊 Tongenerator🖱️ klickzaehlerOnline Notizblock⬛ Seitenverhältnis-Rechner🌍 CO2-Fußabdruck-Rechner👙 BH-GrößenrechnerReifengrößenrechnerKraftstoffkosten-Rechner💧 Taupunkt-Rechner🌡️ Hitzeindex-Rechner🌬️ Windchill-Rechner⏰ Online-Wecker⏰ Stempeluhr-Rechner🕐 Militärzeit-Umrechner⏱️ Stundenrechner⏱️ Online Stoppuhr⏱️ Countdown Timer🌐 ZeitzonenumrechnerTeppich RechnerStützmauer-RechnerHVAC DimensionierungsrechnerDämmung RechnerPflastersteinrechnerBewehrungsrechnerHolz RechnerQuadratmeter RechnerKreuzmultiplikation-RechnerFünf-Zahlen-Zusammenfassung-RechnerPerzentil-RechnerNormalverteilungsrechnerp-Wert-RechnerVerhältnis RechnerQuadratische Ergänzung RechnerrundungsrechnerSchriftliche Division RechnerTwitter/X ZeichenzählerYouTube-Kommentar-PickerYouTube Tag ExtraktorYouTube Thumbnail DownloaderYouTube Einnahmen RechnerZufälliger RPG Charakter Generator