Ich versuche, dies zu berechnen:Rekursion für modulare Arithmetik
x^y (mod a)
Rekursion verwenden, wie es besser für größere Zahlen funktioniert. Hier ist, was ich habe:
public int mod (int x, int y, int a){
if(y == 2){
return x^2%a;
}
if(y%2 == 1){
return a%m*mod(x , y/2, a);
}
if(y%2 == 0){
return mod(x, y/2, a);
}
}
Der Code funktioniert nicht und ein anderes Thema ist die „fehlende return-Anweisung“ Fehler bei der letzten Klammer. Was kann getan werden, um dies zu beheben?
es gibt keine Rekursion in Ihrem Code . Benutze Else wenn statt Letzte If, –
Verwende 'else if' und' else', um deine fehlende 'return' Anweisung zu sortieren, vorausgesetzt, y ist immer eine ganze Zahl –
@Rishi Goel gibt es eine Rekursion in seinem zweiten und dritten' if's –