2017-04-01 3 views
0

Wenn ich eine Gleichung wie (x + c) mod y = z habe und ich nach y lösen muss, wie würde ich das machen?Wie man einen umgekehrten Mod durchführt?

Entschuldigung, wenn das mehr Mathematik als Programmierung ist.

+2

Im Allgemeinen nicht möglich, zumindest nicht eindeutig. –

+0

Bedeutet das, dass du die Werte von 'x, c, z' kennst und" y "finden willst? Was ist, wenn es keine Lösungen oder mehrere Lösungen gibt (beides kann passieren)? Sind alle diese Werte positive ganze Zahlen? Möchten Sie, dass ein Algorithmus alle Lösungen, eine mathematische Formel oder etwas anderes findet? Schließlich, welche Arbeit haben Sie für dieses Problem getan und wo stecken Sie fest? –

+0

Ja, x, c und z sind Konstanten (positive ganze Zahlen). Ich suche nach einer Formel –

Antwort

1

Keine einfache Formel existiert. Wenn a mod n = r dann n teilt a-r und 0 <= r < n. Der Kandidat n kann gefunden werden, indem man a - r faktorisiert und Teiler findet, die größer als r sind. Factoring ist ein viel untersuchtes, aber nicht triviales Problem. Wählen Sie Ihren bevorzugten Factoring-Algorithmus. Wenn a-r prim ist, gibt es keine eindeutige Lösung (es sei denn, r ist größer als irgendein richtiger Divisor von a-r).

Verwandte Themen