Hallo, folgendes Problem. Habe einen Code um Modulo zu berechnen, der fehlerhaft ist. Kann mir jemand helfen, die Fehler zu beheben. Folgendes Beispiel funktioniert: 3^4mod5. Allerdings funktionert 17^23mod13 nicht. Woran liegt es?
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+" = ");
System.out.print(pow(x,k,n));
}
static int pow( int x, int k, int n) {
int ergebnis = 1;
for (int i=1; i<=k; i++){
ergebnis = ergebnis*x;
}
ergebnis = ergebnis%n;
return ergebnis;
}
}