Hier ist der Code für das Drucken aller Möglichkeiten der Binärzahl für n
gleich 3
:Wie genau muss dieser Code tun?
public class Main {
static void binary(int N, int[] A) {
if(N < 1)
System.out.println(Arrays.toString(A));
else
{
A[N-1] = 0;
binary(N-1,A);
A[N-1] = 1;
binary(N-1,A);
}
}
public static void main(String[] args) {
int[] a = new int[3];
binary(3,a);
}
}
Der Code perfekt funktioniert gut. Ich konnte sehen, dass es zwei Rekursionsaufrufe gibt, ich konnte nicht verstehen, wie das funktioniert. Warum gibt es zwei Rekursionsanrufe?
Die zwei rekursive Aufrufe alle möglichen Bit-Konfiguration in nötig sind, um zu erstellen jede Position. Da die einzigen Werte, die ein Bit annehmen kann, "0" oder "1" sind, sind dafür nur zwei Aufrufe erforderlich. Wenn Sie den Code nachverfolgen, wird Ihnen dies klar. –