Grundlegend dieses Programm nimmt eine Dezimalzahl von 1 bis 10, das ist der Potenzindex von 2. Und verwandelt sich in ein Array mit 2^n Kombinationen. Zum Beispiel: Wenn meine Nummer 1 ist, habe ich zwei Arrays, [0] und [1], und wenn meine Dezimalzahl 2 ist, habe ich 4 Kombinationen, [0 0]; [0 1]; [1 0]; [1 1]. Und so weiter.Gibt es eine bessere Möglichkeit, das Programm unten zu optimieren?
#include <stdio.h>
int main() {
int n, q = 1, i, f, d, p, vet[10];
scanf ("%d", &n);
for (i = 0; i < n; i++){
q *= 2;
}
n--;
for (i = 0; i < q; i++){
f = i;
for (p = 0; p < 10; p++){ //setting array to 0
vet[p] = 0;
}
while (f > 0){
p = 1;
d = 0;
while (f >= 2*p){
p *= 2;
d++;
}
vet[d] = 1;
f -= p;
}
printf ("f: %d bin:", i);
for (p = 0; p < 10; p++)
printf ("%d", vet[9-p]);
printf ("\n");
}
return 0;
}
Bitte beachten Sie dies auf [codereview.se]. – Filburt
Ich stimme für das Schließen dieser Frage als Off-Topic, weil dies besser für Code Review SE geeignet ist! –
Ich poste es auf Code Review. Neu hier, wusste nicht, dass es eine solche Webseite gab. Tnks –