Modulare Inverse

Xervos

Erfahrenes Mitglied
Hallo Leute,

ich habe ein Problem. Ich möchte aus den beiden zahlen 17231805556577 und 17231797254335 die Teilerfremd sind also GTT = 1, den Modulen Invers bzw. die Modulen inverse heraus bekommen. Ich habe aber keine ahnung wie ich das Programmierteschnisch abbilden soll oder muss

lg
 
So jetzt habe ich mal was versucht.

Code:
 private long[] extEucl(long a, long b){

  long aa = a;
  long bb = b;

  long x0 = 1;
  long x1 = 0;
  long y0 = 0;
  long y1 = 1;

  long x = 0;
  long y = 1;

   if(b == 0){
     x = 1; //alfa
     y = 0; //beta
     b = a; //gcd
   }
   else if(a != 0){
       long r,  q;
       q = Math.DivRem(a, b,out r); //quotient & remainder

     while(r != 0){
       x = x0 - q*x1;
       y = y0 - q*y1;
		
       x0 = x1;
       y0 = y1;

       x1 = x;
       y1 = y;

       a = b;
       b = r;

       q = Math.DivRem(a, b, out r);
     }
   }
  long[] v_return = {0,0,0}; 	
           v_return[0] = x;
           v_return[1] = y;
           v_return[2] = b;
           return v_return;    //alfa(inverse),beta,gcd
 }

Sobald ich da aber zahlen reinjage bekomme ich 1 zurück. Das Problem ist nun wenn ich die Zahlen hardcodiert reinschreibe geht es sobald ich aber diese übergeben lasse was ich ja machen will, geht es nicht
 

Neue Beiträge

Zurück