Heim > Backend-Entwicklung > C++ > Hauptteil

Für alle möglichen Binärzahlen der Länge n ist die Summe der beiden Hälften gleich?

WBOY
Freigeben: 2023-09-03 13:21:11
nach vorne
1111 Leute haben es durchsucht

Für alle möglichen Binärzahlen der Länge n ist die Summe der beiden Hälften gleich?

Hier sehen wir alle möglichen Binärzahlen mit n Bit (n wird vom Benutzer angegeben), bei denen die Summe jeder Hälfte gleich ist. Wenn die Zahl beispielsweise 10001 ist, sind 10 und 01 gleich, weil ihre Summe gleich ist und sie in unterschiedlichen Hälften liegen. Hier werden wir alle Zahlen dieses Typs generieren

Begin
   if n is 0, then
      if diff is 0, then
         print left + right
      end if
      return
   end if
   if n is 1, then
      if diff is 0, then
         print left + 0 + right
         print left + 1 + right
      end if
      return
   end if
   if 2* |diff| <= n, then
      if left is not blank, then
         genAllBinEqualSumHalf(n-2, left + 0, right + 0, diff)
         genAllBinEqualSumHalf(n-2, left + 0, right + 1, diff-1)
      end if
      genAllBinEqualSumHalf(n-2, left + 1, right + 0, diff + 1)
      genAllBinEqualSumHalf(n-2, left + 1, right + 1, diff)
   end if
End
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonFür alle möglichen Binärzahlen der Länge n ist die Summe der beiden Hälften gleich?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage