Jadual Kandungan
Algoritma
genAllBinEqualSumHalf(n, left, right, diff)
Contoh
输出
Rumah pembangunan bahagian belakang C++ Untuk semua nombor perduaan yang mungkin panjang n, jumlah dua bahagian adalah sama?

Untuk semua nombor perduaan yang mungkin panjang n, jumlah dua bahagian adalah sama?

Sep 03, 2023 pm 01:21 PM
nombor binari panjang Waso et al.

Untuk semua nombor perduaan yang mungkin panjang n, jumlah dua bahagian adalah sama?

Di sini kita akan melihat semua kemungkinan nombor binari n bit (n diberikan oleh pengguna) di mana jumlah setiap separuh adalah sama. Sebagai contoh, jika nombor adalah 10001 di sini 10 dan 01 adalah sama kerana jumlah mereka adalah sama, dan mereka berada dalam bahagian yang berbeza. Di sini kita akan menjana semua nombor jenis itu.

Algoritma

genAllBinEqualSumHalf(n, left, right, diff)

kiri dan kanan pada mulanya kosong, diff adalah memegang perbezaan antara kiri dan kanan

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
Salin selepas log masuk

Contoh

#include <bits/stdc++.h>
using namespace std;
//left and right strings will be filled up, di will hold the difference between left and right
void genAllBinEqualSumHalf(int n, string left="", string right="", int di=0) {
   if (n == 0) { //when the n is 0
      if (di == 0) //if diff is 0, then concatenate left and right
         cout << left + right << " ";
      return;
   }
   if (n == 1) {//if 1 bit number is their
      if (di == 0) { //when difference is 0, generate two numbers one with 0 after left, another with 1 after left, then add right
         cout << left + "0" + right << " ";
         cout << left + "1" + right << " ";
      }
      return;
   }
   if ((2 * abs(di) <= n)) {
      if (left != ""){ //numbers will not start with 0
         genAllBinEqualSumHalf(n-2, left+"0", right+"0", di);
         //add 0 after left and right
         genAllBinEqualSumHalf(n-2, left+"0", right+"1", di-1);
         //add 0 after left, and 1 after right, so difference is 1 less
      }
      genAllBinEqualSumHalf(n-2, left+"1", right+"0", di+1); //add 1 after left, and 0 after right, so difference is 1 greater
      genAllBinEqualSumHalf(n-2, left+"1", right+"1", di); //add 1 after left and right
   }
}
main() {
   int n = 5;
   genAllBinEqualSumHalf(n);
}
Salin selepas log masuk

输出

100001
100010
101011
110011
100100
101101
101110
110101
110110
111111
Salin selepas log masuk

Atas ialah kandungan terperinci Untuk semua nombor perduaan yang mungkin panjang n, jumlah dua bahagian adalah sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Berapakah bilangan digit binari yang mengandungi alamat IP? Berapakah bilangan digit binari yang mengandungi alamat IP? Mar 01, 2023 pm 04:35 PM

Alamat IP terdiri daripada nombor binari 32 atau 128-bit. Alamat IP ialah format alamat bersatu yang disediakan oleh protokol IP Terdapat dua jenis alamat IP: 1. Alamat IPv4, yang terdiri daripada nombor binari 32-bit, dinyatakan dalam tatatanda perpuluhan bertitik, dibahagikan kepada lapan bit, iaitu empat 0. ~255 Nombor perpuluhan; 2. Alamat IPv6 terdiri daripada nombor perduaan 128-bit, dinyatakan dalam perenambelasan bertitik, dibahagikan kepada lapan bit, iaitu enam belas nombor perenambelasan dari 0x00 hingga 0xff.

Apakah had panjang tatasusunan PHP? Apakah had panjang tatasusunan PHP? Mar 13, 2024 pm 06:30 PM

Tiada had tetap untuk panjang tatasusunan dalam PHP, ia boleh dilaraskan secara dinamik mengikut saiz memori sistem. Dalam PHP, tatasusunan ialah struktur data yang sangat fleksibel yang boleh menyimpan sebarang bilangan elemen, dan setiap elemen boleh menjadi nilai apa-apa jenis, atau tatasusunan lain. Had panjang tatasusunan PHP terutamanya bergantung pada saiz memori sistem dan had memori konfigurasi PHP. Secara umumnya, jika memori sistem cukup besar dan had ingatan PHP cukup tinggi, panjang tatasusunan boleh menjadi sangat besar. Walau bagaimanapun, jika sistem anda kekurangan memori atau

Cari pelengkap 2 bagi nombor perduaan yang diberi menggunakan C Cari pelengkap 2 bagi nombor perduaan yang diberi menggunakan C Sep 05, 2023 pm 03:21 PM

Pertimbangkan contoh yang diberikan di bawah - Contoh input adalah seperti berikut: Input nombor binari: 10010001 Output adalah seperti berikut: 1's complement of 10010001 is 011011102 The complement of 10010001 is 01101111 Algorithm to's complement to an' Algoritma Rujukan kepada '2' Algoritma. diberi nombor nombor binari. Langkah 1 - Mulakan. Langkah 2 - Baca nombor binari pada masa jalan. Langkah 3 - Salin nombor binari ke strdp. Langkah 4-len:=strlen(str) Langkah 5-Untuk i=0 hingga len-1, jalankan Langkah 5.1-Jika str[i]=='1', maka Langkah 5.1.1-str[i]==' 0' Langkah 5.2-Jika tidak Langkah 5.2.1

Adakah terdapat had untuk panjang tatasusunan PHP? Adakah terdapat had untuk panjang tatasusunan PHP? Mar 13, 2024 pm 06:36 PM

Adakah terdapat had untuk panjang tatasusunan PHP? Perlukan contoh kod khusus Dalam PHP, panjang tatasusunan tidak tertakluk kepada had tetap, dan saiz tatasusunan boleh dilaraskan secara dinamik mengikut had sebenar memori sistem. Tatasusunan dalam PHP ialah tatasusunan dinamik, jadi ia boleh berkembang atau mengecut secara dinamik mengikut keperluan. Dalam PHP, tatasusunan ialah struktur data dipetakan tersusun, dan elemen tatasusunan boleh diakses menggunakan subskrip tatasusunan atau nilai kunci tatasusunan bersekutu. Mari lihat contoh kod khusus untuk menunjukkan sama ada panjang tatasusunan PHP adalah terhad. Pertama, kita boleh lulus kod berikut

Apakah pelengkap 1 dan pelengkap 2 bagi nombor binari? Apakah pelengkap 1 dan pelengkap 2 bagi nombor binari? Sep 11, 2023 pm 11:33 PM

Nombor binari diwakili dalam asas 2. Ia hanya menggunakan dua digit "0" dan "1". Setiap digit dalam nombor binari adalah sedikit. Contoh Nombor pelengkap dua nombor perduaan -01000101111 Nombor pelengkap kedua-duanya diperoleh dengan membalikkan digit nombor perduaan, iaitu menukar 1 kepada 0 dan 0 kepada 1. Pelengkap contoh 1'sComplementof101100=0100112 ialah pelengkap nombor binari tambah 1, iaitu pelengkap 1 + 1. Contoh 2’complementof101101is010011 Contoh kod untuk mencari satu dan dua kod pelengkap - #include<iostr

ipv6地址是由多少位二进制数组成的 ipv6地址是由多少位二进制数组成的 Dec 15, 2020 pm 02:02 PM

ipv6地址是由128位二进制数组成的。IPv6地址是以十六进制表示的二进制数,具有128位地址长度。一个IPv6的IP地址由8个地址节组成,每节包含16个地址位,总长度是16x8=128位。

Diberi tatasusunan, cari jumlah maksimum panjang dua rentetan yang tidak mempunyai aksara yang sama. Diberi tatasusunan, cari jumlah maksimum panjang dua rentetan yang tidak mempunyai aksara yang sama. Aug 29, 2023 pm 06:45 PM

Tujuan artikel ini adalah untuk melaksanakan program yang memaksimumkan jumlah panjang sepasang rentetan yang tidak mempunyai aksara biasa dalam tatasusunan tertentu. Mengikut definisi, rentetan ialah koleksi aksara. Pernyataan Masalah Laksanakan atur cara untuk memaksimumkan jumlah panjang sepasang rentetan yang tidak mempunyai aksara sepunya dalam tatasusunan tertentu. Contoh 1LetusconsidertheInputarray:a[]=["efgh","hat","fto","car","wxyz","fan"]Outputperoleh:8 Penerangan Tiada aksara biasa dalam rentetan "abcd" dan "wxyz ". Akibatnya, panjang gabungan dua rentetan ialah 4+4, iaitu bersamaan dengan 8, iaitu panjang terpanjang antara semua pasangan yang boleh dilaksanakan. Contoh 2Letu

Pelbagai perspektif tentang penggunaan dan kepentingan fungsi len Pelbagai perspektif tentang penggunaan dan kepentingan fungsi len Dec 28, 2023 am 08:38 AM

Peranan dan maksud fungsi len ditafsirkan dari sudut yang berbeza Fungsi len adalah salah satu fungsi yang biasa digunakan dalam bahasa pengaturcaraan Python. Ia digunakan terutamanya untuk mengembalikan panjang atau bilangan elemen objek bekas (seperti rentetan, senarai, tuple, dll.). Fungsi mudah ini memainkan peranan yang sangat penting semasa menulis program, dan fungsi dan maknanya boleh ditafsirkan dari pelbagai sudut. Artikel ini akan menerangkan fungsi len dari perspektif prestasi, kebolehbacaan dan jenis bekas serta memberikan contoh kod khusus. 1. Perspektif prestasi Apabila memproses data berskala besar, prestasi program

See all articles