iTobi 
22:02 Uhr, 05.07.2018
|
Hallo liebe Community,
ich möchte für meinen GTR (Texas Instruments Plus) eine Modulo Funktion schreiben, welche mir für egal welches Modulo den Restwert berechnet.
Ich habe bereits in vielen Foren die einfache Idee gelesen, zu rechnen, das Ergebnis davon abzurunden, und das abgerundete Ergebnis von abzuziehen. Dieses muss dann nur noch mit multipliziert werden und man hat den Restwert.
Mein Problem bei der ganzen Sache, das abrunden bei größeren Zahlen wie . . Diese Zahl ist sehr groß und ist nicht so einfach mit den sichtbaren Nachkommastellen abzurunden .
Mein erster Ansatz war eine Schleife, die solange von abzieht, bis ist. In der Theorie und in einer Programmiersprache, auf einem leistungsfähigeren Computer mit einer stärkeren CPU ist das vermutlich machbar, allerdings braucht so ein GTR dafür schon sehr lange ;-)
Meine zweite Idee war es, mit einer Schleife mit Durchgängen jeweils darauf zu überprüfen, ob das Ergebnis eine gerade Zahl ist. Wenn dies der Fall ist, dann ist der aktuelle Wert mein Restwert. Allerdings bin ich in meinem Taschenrechner auch noch auf keine Möglichkeit gestoßen, um eine Zahl darauf zu überprüfen.
Ihr seht also, dass ich mit etwas im Kreis drehe. Hat jemand vielleicht eine gute Idee oder erklärt mir, dass es viel einfacher geht?
Vielen Dank schon einmal im Voraus
Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert): "Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen." |
|
|
Berechne 28² und bestimme mit der genannten Methode den Rest mod 77. Multipliziere den erhaltenen Rest mit 28 und bestimme vom Ergebnis den Rest mod 77. (Damit hast du den Rest von 28³.) Multipliziere den erhaltenen Rest mit 28 und bestimme vom Ergebnis den Rest mod 77. (Damit hast du den Rest von .) Multipliziere den erhaltenen Rest mit 28 und bestimme vom Ergebnis den Rest mod 77. (Damit hast du den Rest von .) ... usw. Du brauchst also lediglich eine Schleife, die fortlaufend die gleichen Operationen wiederholt.
|
|
Hallo,
das ist eine Aufgabe, da braucht man kaum ein Taschenrechner-Programm, ja man braucht eigentlich überhaupt keinen Taschenrechner. Man sollte als Student eigentlich erkennen, dass sowohl die als auch die durch 7 teilbar sind. Wegen der Teilerfreiheit von 7 und die stammt von der Zerlegung wird nie der Rest 0 bei der Division von durch auftauchen. Was potentiell auftauchen kann sind alle durch 7 teilbaren Reste von 7 bis und das sind genau Stück. Da diese kleiner als der Exponent sind, muss es zwangsläufig einen Zyklus geben, in dem sich diese Reste wiederholen. Da 7 und Primzahlen sind, würde ich eine Wiederholung alle Potenzen vermuten. Deshalb berechne ich nach der Methode von abakus mal einige Potenzen, allerdings etwas effektiver:
Damit haben wir einen Zyklus von (könnte auch von 2 oder 5 als Teiler von sein, ist aber egal, auch die bildet einen Zyklus) und wir wissen schon
Bleibt als Restaufgabe:
Jetzt werden die hier bekannten Krümelkacker sicher feststellen, dass ich zu Beginn behauptet habe, dass man gar keinen Taschenrechner braucht, denen bin ich natürlich noch meine Berechnungen im Kopf schuldig:
das ist Schulstoff!
|
|
Korrektur eines Cut/Paste-Fehlers:
Bleibt als Restaufgabe:
Da stand oben statt ganz links nur .
Und Korrektur eines Tippfehlers:
Da stand oben statt ganz rechts nur . Aber war ja ohne Folgen, da nicht im Rechenteil sondern nur im Teil für die Krümelkacker
|
iTobi 
13:17 Uhr, 06.07.2018
|
Mir ist vollkommen bewusst, dass sich das ganze relativ einfach ausrechnen lässt, wie du ja bereits gezeigt hast. Ich habe nur nach einer schnelleren Methode gesucht, um schnell und ohne große Zwischenrechnungen Restwerte zu Modulen am Taschenrechner zu berechnen. Das die Problemstellung von Hand einfacher zu lösen ist, als mit einer Funktion war mir bereits bekannt. ;-)
|
ledum 
00:17 Uhr, 07.07.2018
|
Hallo die Methode immer wieder abzuziehen sollte man sicher erst für die letzten Schritte verwendn, also im genannten Fall erst mal abziehen. dein Programm müsste erstmal große und kleine Zahlen unterschiedlich behandeln, gruß ledum
|
ledum 
00:17 Uhr, 07.07.2018
|
sorry, Doppelpost
|
Diese Frage wurde automatisch geschlossen, da der Fragesteller kein Interesse mehr an der Frage gezeigt hat.
|