![]() |
Gleichung mit MOD
hi,
ich komme bei meiner facharbeit über codierungen nicht weiter... dafür müsste ich folgende gleichung lösen können, aber ich weiss nicht wie:
Code:
dabei ist x eine unbekannte!
(x*b) MOD 29 = a
PLEASE HELP!! |
Re: Gleichung mit MOD
Für x gibt es auf jeden Fall unendlich viele Lösungen ...
wenn zb. b = 29 und a = 0 dann gilt die gleichung für den gesamten natürlichen Zahlenbereich. |
Re: Gleichung mit MOD
sorry hab vergessen zu erwähnen, dass a ungleich 0 ist und die definitionsmenge {0,1...28} ist
|
Re: Gleichung mit MOD
Hallo silentAMD,
hier mal mein Versuch...
Code:
Gruss
a mod b = a - (a / b)*b
(x*b) - (x*b / 29) = a x*b*29 x*b ------ - ----- = a 29 29 x*b*29 - x*b ------------ = a 29 x*b * (29 - 1) -------------- = a 29 x*b*28 = 29*a 29a x = ----- 28b Thorsten |
Re: Gleichung mit MOD
Eine Anmerkung:
Code:
a mod b = a - (a div b)*b
|
Re: Gleichung mit MOD
@DelphiProgrammierer: Du hast natürlich recht, danke. Habs oben korrigiert.
Gruss Thorsten |
Re: Gleichung mit MOD
Zitat:
b=a^-1 = a^27 mod 29 Gruß Gammatester |
Re: Gleichung mit MOD
vielen dank für die vielen antworten! :thumb:
leider hat mir keine bei diesem problem geholfen... dafür aber bei einem anderen (x-b statt x*b)... wie kann ich die letzte antwort in delphi umsetzen? |
Re: Gleichung mit MOD
Zitat:
Delphi-Quellcode:
Die Formel x = a*b^27 mod 29 hat allerdings nur didaktischen Wert, besser ist eine Berechnung von b^-1 mit dem erweiterten Euklidischen Algorithmus und speichern aller Inversen in einen Vektor inv: array[1..28] of integer.
{solve x*b=a mod 29}
{ x = a*b^27 mod 29} {$apptype console} var a,b,x,i: integer; begin {Deine Werte, aber besser eine procedure} a := 3; b := 4; x := a; for i:=1 to 27 do x := x*b mod 29; writeln(x:4, x*b mod 29:4, (x*b-a) mod 29: 4); end. Gruß Gammatester |
Re: Gleichung mit MOD
Code:
würde ein byte array reichen?? das problem ist, dass ich dies mathematisch lösen muss...
Die Formel x = a*b^27 mod 29 hat allerdings nur didaktischen Wert, besser ist eine Berechnung von b^-1 mit dem erweiterten Euklidischen Algorithmus und speichern aller Inversen in einen Vektor inv: array[1..28] of integer.
ein weiteres problem: die funktionen - x = (a+b) mod 29 (kurz: x = a +29 b) - x = (a*b) mod 29 (kurz: x = a *29 b) - a = (x+b) mod 29 (kurz: x = a -29 b) - a = (x*b) mod 29 (kurz: x = a /29 b) funktionieren im einzelnen. etwas (ist verlangt) wie f(x) = a *29 x +29 b (x variabel, a und b natürliche zahlen) funktioniert zwar, aber wie ich auf die umkehrformel (um das x herauszufinden) komme ist mir nicht schlüssig... wie bekomme ich solch eine formel und wie lautet sie? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz