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" sich b raus und dann kann sich a*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 Ganzzahl

    C ... 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


Anmelden zum Antworten