Kongruenzgleichung lösen
-
Ich habe Folgendes:
f(i) = (n*s + n*i + j) * C mod v
mit n , s , j, C und v konstant
und möchte wissen, unter welchen Bedingungen
f(i) = f(i+1) oder ganz und gar f = const
Falls das sehr aufwändig ist, einfach davor warnen
-
shisha schrieb:
f(i) = (n*s + n*i + j) * C mod v
mit n , s , j, C und v konstant
Also im Grunde, wenn man die Konstanten alle zusammenfasst, f(i) = (a*i + b) mod c, oder?
und möchte wissen, unter welchen Bedingungen
f(i) = f(i+1) oder ganz und gar f = const
wenn a ein Vielfaches von c ist. Bzw. wenn n*C ein Vielfaches von v ist.
edit: Danke Rhombicosidodecahedron, Fehler korrigiert.
-
Bashar schrieb:
shisha schrieb:
...
Also im Grunde, wenn man die Konstanten alle zusammenfasst, f(i) = (a*i + b) mod c, oder?
...
wenn b ein Vielfaches von c ist. Bzw. wenn n*C ein Vielfaches von v ist.
Ich schätze du meinst
a
. Weil sonst "kürzt" sichb
raus und dann kann sicha*i
immer noch ändern.
-
Reicht vlt schon
wenn n ein Vielfaches von v ist?
Das würde ich irgendwie erwarten
-
shisha schrieb:
Reicht vlt schon
wenn n ein Vielfaches von v ist?
Das würde ich irgendwie erwarten
Klar, wenn n ein Vielfaches von v ist, ist auch C*n ein Vielfaches von v - umgekehrt gilt das allerdings nicht (nimm zum Beispiel n=5, C=9, v=15).
-
Ein wenig komplizierter ist die Sache vielleicht noch als oben dargestellt.
Die Funktion f müsste, wenn ich es jetzt richtig habe, sein:f(i) = floor[( n*s + n*i +j ) / C] mod v
Welche Auswirkungen hat dieses floor auf das Ergebnis?
-
Welcher Art von Zahlen sind die Variablen und Parameter? Bei der ursprünglichen Funktion bin ich von ganzen Zahlen ausgegangen, jetzt können es ja auch reelle sein.
-
Also ich versuche es mal:
n = definitiv Ganzzahl der form 2N^2 N aus IN
s = definitiv Ganzzahl
i,j = definitiv Ganzzahlen < n
v = definitiv GanzzahlC ... ist ein Bruch wenn ich *C in der Formel habe, ist C < 1.
Kann theoretisch so ziemlich alles sein, praktisch macht aber allein die
division von zwei 2er-Potenzen Sinn.
1/8 ist zB ein konkreter Wert, der angenommen wird.Das Ergebnis müsste von dem was ich vorliegen habe sein, dass f(i) = f(i+1), wenn
n = k* v, k aus IN