Hallo, bin absoluter Anfänger im Programmieren mit Java. Kann mir jemand helfen und folgenden Code schrittweise erklären. Es geht um eine Moduloberechnung. Gerne auch an einem Besipiel, wie 15
^23mod13.
Code:
public class Pow {
public static void main(String[] args){
int x = Integer.parseInt(args[0]);
int k = Integer.parseInt(args[1]);
int n = Integer.parseInt(args[2]);
System.out.print(x+"pow"+k+" mod "+n+" = "+ pow(x, k, n));
}
static int pow( int x, int k, int n) {
int ergebnis=1;
while (k !=0) {
if (k%2 !=0) ergebnis = (ergebnis*x)%n;
x =(x*x)% n; k = k/2;
}
return ergebnis;
}
}