Modulare Potenzierung Implementierung in Python 3 - Stack-Überlauf

Im Grunde ist dies eine Hausaufgabe Frage. Ich soll diese beiden Pseudo-Code-Algorithmen in Python3 implementieren. Ich mache etwas falsch und ich kann nicht herausfinden, was (es scheint, als ob das so einfach sein soll ich bin nicht sicher, was / wo ich die verpfuscht. Es könnte mein Algorithmus oder mein Mangel an Erfahrung mit Python sein. I‘ m nicht sicher, was.).







Bitte sagen Sie mir, was ich falsch gemacht habe, keinen Code schreiben. Wenn ich Code für eine Antwort werde ich für Plagiat gebunden bekommen (was ich sehr viel will nicht).

Der erste Algorithmus (Basiserweiterung):

Der zweite Algorithmus (modulare Erweiterung):

Scheint einfach genug jedenfalls, hier ist was ich in Python3 umgesetzt (und ich bitte um Vergebung aller Python-Programmierer gibt, ist dies eine sehr neue Sprache für mich)

Dies scheint, wie es funktionieren soll, aber wenn ich versuche, 645 7 644 mod zu lösen erhalte ich die Antwort 79, aber die richtige Antwort sollte 436 sein.







Wenn jemand könnte meine Fehler hinweisen, ohne dass ich wirklich geben einen Code würde ich sehr dankbar sein.

Ihre Methode funktioniert nur, wenn b gleich 2, die durch Quadrierung gleiche wie Potenzierung ist, aber es wird in Fällen mit b scheitern> 2. Gehen Sie wie folgt:

Ihre Zeichenfolge n können Zahlen im Bereich enthält [0, B-1], wie es die Darstellung der Zahl n in der Basis b. In Ihrem Code, überprüfen Sie nur für Ziffer 1, und im Fall von b = 7, kann es eine Ziffer im Bereich [0,6]. Sie haben Ihren Algorithmus wie folgt zu ändern:

Sie sollten jetzt die richtige Antwort bekommen.

Vielen Dank. Ich habe wracking mein Gehirn die ganze Woche und ich habe Super krank. Die Änderungen, die Sie den Algorithmus Arbeit vorgeschlagen werden. Was ich nicht bekommen, ist, warum die Pseudo-Code in meinem Buch war nicht wie die Art und Weise geschrieben Sie beschrieben (I verdoppeln mein Buch überprüft, um sicherzustellen, dass ich es nicht nur hier vertippt haben, also entweder verstehe ich nicht, die Notation Buch oder es falsch war). Nochmals vielen Dank, du warst ein Lebensretter! - BCqrstoO 14. September '13 um 19:02 Uhr

Es scheint, wie der Pseudo-Code für ‚-Prozedur modulare Potenzierung‘ in Ihrem Buch geschrieben wurde speziell für b = 2, wie es in angegeben ist ‚n = (ak-1AK-2. A1A0) 2‘, während es den Index ‚b‘ trägt statt von 2 in ‚-Prozedur Basiserweiterung‘. - sanchit.h 14. September '13 um 19:06 Uhr







In Verbindung stehende Artikel