Heim >Backend-Entwicklung >C++ >Stellen Sie in C++ eine Zahl als kleinstmögliche Summe pseudobinärer Zahlen dar
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!