Lineare Kongruenzen

Neue Frage »

Mathekerl Auf diesen Beitrag antworten »
Lineare Kongruenzen
Ich denke a ist vier, denn ggt(4, 12)= 4 lautet und damit wird die allgemeine Formel von x=3x+2 produziert und daraus 4 Lösungen,
jeweils 2, 5, 8, 11 in Z12

Habe ich dieses Problem richtig gelöst?

Ich brauche eure Hilfe! :=)
Danke sehr!
HAL 9000 Auf diesen Beitrag antworten »

Das "x=3x+2" verbuche ich mal unter Schreibfehler...


ist eine mögliche Lösung, ja: ist nach Division durch 4 äquivalent zu , was modulo 12 dann den Resten 2,5,8,11 entspricht, wie von dir richtig beschrieben.

Genausogut wäre aber auch möglich, dann mit und in der Folge , und den Resten 1,4,7,10 modulo 12.
Finn_ Auf diesen Beitrag antworten »

Sei beliebig und sei

Allgemeine Gesetzmäßigkeit: Wenn modulo ist, muss modulo sein.

Weil die als Restklassen betrachtet eine Zerlegung von bilden, genügt die Bestimmung von mit der in der Aufgabenstellung geforderten Eigenschaft. Die allgemeine Lösungsmenge zu besteht aus den per parametrisiert, weil wie gesagt die Rechnung

modulo

gilt. Nun gibt es nur noch endlich viele Kandidaten. Anstelle die im Artikel Lineare Kongruenz aufgezeigte Theorie zur Anwendung zu bringen, kann man auch einfach naive erschöpfende Suche rechnen lassen:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
def solve_linear_cong(a, b, m):
    return [x for x in range(m) if (a*x)%m == b]

def solutions_by_count(b, m):
    it = ((a, solve_linear_cong(a, b, m)) for a in range(m))
    return sorted(it, key = lambda t: len(t[1]))

for a, s in solutions_by_count(8, 12):
    print("a = {:2} | {} | {}".format(a, len(s), s))

Ausgabe:
a =  0 | 0 | []
a =  3 | 0 | []
a =  6 | 0 | []
a =  9 | 0 | []
a =  1 | 1 | [8]
a =  5 | 1 | [4]
a =  7 | 1 | [8]
a = 11 | 1 | [4]
a =  2 | 2 | [4, 10]
a = 10 | 2 | [2, 8]
a =  4 | 4 | [2, 5, 8, 11]
a =  8 | 4 | [1, 4, 7, 10]
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »