Diberi angka n, tulislah fungsi yang menghasilkan dan mencetak semua bilangan biner dengan nilai desimal dari 1 sampai n Show ContohInput: n = 2 Output: 1, 10 Input: n = 5 Output: 1, 10, 11, 100, 101 Metode sederhana adalah menjalankan loop dari 1 hingga n, panggil desimal ke biner di dalam loop Berikut adalah metode menarik yang menggunakan struktur data antrian untuk mencetak bilangan biner 1) Buat antrian string kosong Metode Pemrograman Python untuk Menghasilkan Bilangan Biner[pastacode lang=”python” manual=”%23%20Python%20program%20to%20generate%20binary%20numbers%20from%20%0A%23%201%20to%20n%20%0A%20%0A%23%20This . put(%221%22)%0A%20%0A%20%20%20%20%23%20This%20loop%20is%20like%20BFS%20of%20a%20tree%20with%201%20as%20root%0A% . get()%20%0A%20%20%20%20%20%20%20%20print%20s1%20%0A%20%20%20%20%20%0A%20%20%20%20% . masukkan(s1%2B%220%22)%0A%20%0A%20%20%20%20%20%20%20%20%23%20Tambahkan%20%221%22%20to%20s2%20and%20enqueue . %20Catatan%20bahwa%20s2%0A%20%20%20%20%20%20%20%20%23%20berisi%20the%20previous%20depan%0A%20%20%20%20%20%20%20 . put(s2%2B%221%22)%0A%20%20%20%20%20%0A%20%0A%23%20Driver%20program%20to%20tes%20above%20fungsi%0An%20%3D%2010Keluaran1 10 11 100 101 110 111 1000 1001 1010_ Total 1 Saham Bagikan 1 Tweet 0 Sematkan 0 Diberi angka positif Misalnya, untuk 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000
Berikut adalah implementasi C++, Java, dan Python C++1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #include #include #include menggunakan namespace std;
// Berfungsi untuk menghasilkan bilangan biner antara 1 dan `n` menggunakan // struktur data antrian batal hasilkan(int n) { // buat antrean kosong dan antrean 1 antrean<string> q; q. tekan("1");
// jalankan `n` kali int i = 1; sementara (i++ <= n) { // tambahkan 0 dan 1 ke elemen depan antrean dan // enqueue kedua string q. dorong(q. depan() + "); q. dorong(q. depan() + ");
// dequeue elemen depan setelah mencetaknya cout << q. depan() << ' '; q. pop(); } }
int utama() { int n = 16; hasilkan(n);
kembalikan 0; } Unduh Jalankan Kode Jawa1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 impor java. bermanfaat. ArrayDeque; impor java. bermanfaat. Antrian;
kelas Utama { // Berfungsi untuk menghasilkan bilangan biner antara 1 dan `n` menggunakan // struktur data antrian publik statis batal hasilkan(int n) { // buat antrean kosong dan antrean 1 Antrian q. tambahkan("1");
// jalankan `n` kali int i = 1; sementara (i++ <= n) { // menambahkan 0 dan 1 ke elemen depan antrean dan // enqueue kedua string q. tambahkan(q. mengintip() + '); q. tambahkan(q. mengintip() + ');
// hapus elemen depan dan cetak Sistem. keluar. cetak(q. polling() + '); } }
publik statis batal utama(String[] args) { int n = 16; hasilkan(n); } } Unduh Jalankan Kode Piton1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 dari koleksi impor deque
# Berfungsi untuk menghasilkan bilangan biner antara 1 dan `n` menggunakan # struktur data antrian def hasilkan(n):
# buat antrean kosong dan antrean 1 q = deque() q. tambahkan('1')
# jalankan `n` kali untuk i dalam rentang(n): # hapus elemen depan depan = str(q.popleft())
# menambahkan 0 dan 1 ke elemen depan antrean dan # enqueue kedua string q. tambahkan(depan + ') q. tambahkan(depan + ')
# cetak elemen depan cetak(depan, end=' ')
jika __nama__ == '__main__'.
n = 16 hasilkan(n)
Unduh Jalankan Kode Keluaran C++1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #include #include #include menggunakan namespace std;
// Berfungsi untuk menghasilkan bilangan biner antara 1 dan `n` menggunakan `std. bitset` int hasilkan(int n) { // jalankan `n` kali untuk (int i = 1; i <= n; i++) { // ubah `i` menjadi bilangan biner 8–bit bitset<8> binary(i);
// cetak bilangan biner saat ini cout << biner. to_string() << ' '; } }
int utama() { int n = 16; hasilkan(n);
kembalikan 0; } Unduh Jalankan Kode Keluaran Kompleksitas waktu dari solusi di atas adalah O(n) , dan ruang tambahan yang digunakan oleh program adalah O(1). Bagaimana Anda mencetak bilangan biner dari 1 hingga N?Hasilkan Bilangan Biner dari 1 hingga n menggunakan antrian. . Buat antrian string kosong Enqueue angka biner pertama "1" ke antrian Sekarang jalankan loop untuk menghasilkan dan mencetak n bilangan biner. Dequeue dan Cetak bagian depan antrian. Tambahkan "0" di akhir item depan dan enqueue Bagaimana cara mencetak daftar bilangan biner dengan Python?Untuk mencetak nilai biner dari bilangan bulat tertentu, kita menggunakan fungsi bin() yang menerima angka sebagai argumen dan mengembalikan nilai biner.
Bagaimana Anda mencetak bilangan biner?Untuk mencetak representasi biner dari unsigned integer, mulai dari bit ke-31, periksa apakah bit ke-31 HIDUP atau MATI, jika HIDUP cetak "1" jika tidak cetak "0". Sekarang periksa apakah bit ke-30 ON atau OFF, jika ON cetak "1" jika tidak cetak "0", lakukan ini untuk semua bit dari 31 hingga 0, akhirnya kita akan mendapatkan representasi bilangan biner
Apa itu bin () dengan Python?Python bin() Fungsi
. Hasilnya akan selalu dimulai dengan awalan 0b. returns the binary version of a specified integer. The result will always start with the prefix 0b . |