In diesem Tutorial wird die Darstellung einer Zahl als kleinste Summe pseudobinärer Zahlen erläutert. Eine Pseudobinärzahl ist eine Zahl, die aus den Binärziffern 0 und 1 besteht. Beispiele für Pseudobinärzahlen sind 00, 11, 10, 100, 111, 1011 usw.
Hier sind einige Beispiele für Zahlen, die als Summe pseudobinärer Zahlen dargestellt werden.
Input : 23 Output : 11 + 11 + 1 Explanation : 23 = 11 + 11 + 1, sum of pseudo-binary numbers(11, 11, 1) is 23. Input : 50 Output : 10 + 10 + 10 + 10 + 10
Nachfolgend finden Sie eine der besten Möglichkeiten, die kleinste Pseudobinärzahl zu finden, die N darstellt.
Nehmen Sie eine Zahl X und aktualisieren Sie die Anzahl der Ziffern in X basierend auf jeder Ziffer der Zahl N auf 1 oder 0.
Überprüfen Sie jede Ziffer von N:
Wenn es 0 ist, setzen Sie das Bit von X auf 0.
Wenn es nicht 0 ist, setzen Sie das Bit von X auf 1.
Unter der Annahme, dass N = 32 ist, wird X zu 11.
Dann wird X zu einer Pseudobinärzahl.
Subtrahieren Sie nun X von N und wiederholen Sie Schritt 1, bis N Null wird.
Wir tun dies, indem wir den Wert von N in der temporären Variablen aktualisieren und eine innere Schleife verwenden, um jede Position der temporären Variablen zu überprüfen und diese Position der Variablen X zu aktualisieren.
Wir aktualisieren N, indem wir X von N subtrahieren und erneut in die äußere Schleife eintreten, bis N 0 wird.
Fazit
Das obige ist der detaillierte Inhalt vonStellen Sie in C++ eine Zahl als kleinstmögliche Summe pseudobinärer Zahlen dar. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!