Rumah > Artikel > pembangunan bahagian belakang > Dalam C++, mewakili nombor sebagai jumlah terkecil yang mungkin bagi nombor pseudo-perduaan
Tutorial ini akan membincangkan mewakili nombor sebagai jumlah terkecil nombor pseudo-perduaan. Nombor pseudo-binari ialah nombor yang terdiri daripada digit binari 0 dan 1. Contoh nombor pseudo-perduaan ialah 00, 11, 10, 100, 111, 1011, dsb.
Berikut ialah beberapa contoh nombor yang diwakili sebagai hasil tambah nombor pseudo-perduaan.
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
Di bawah adalah salah satu cara terbaik untuk mencari nombor pseudo-perduaan terkecil yang mewakili N.
Ambil nombor X dan kemas kini bilangan digit dalam X kepada 1 atau 0 berdasarkan setiap digit nombor N.
Semak setiap digit N:
Jika 0, tetapkan bit X itu kepada 0.
Jika bukan 0, tetapkan bit X kepada 1.
Andaikan N = 32, X akan menjadi 11.
Kemudian X akan menjadi nombor pseudo-binary.
Sekarang tolak X daripada N dan ulangi langkah 1 sehingga N menjadi sifar.
C++ kod untuk kaedah di atas
#include<iostream> using namespace std; int main(){ int N = 51; // find a pseudo-binary number until N becomes 0. cout << "pseudo-binary representation of " << N << " is: "; while (N > 0){ // finding X which contains 0's and 1's according to N. int temp = N; int X = 0, bit = 1; // checking each place of N for zero or non-zero. while (temp!=0){ int last_dig = temp % 10; temp = temp / 10; if (last_dig != 0) X += bit; bit *= 10; } // printing one pseudo-binary number. cout << X << " "; // Updating N by subtracting with X. N = N - X; } return 0; }
pseudo-binary representation of 51 is: 11 10 10 10 10
Di setiap kedudukan N dan gelung semasa digunakan untuk memilih nombor semasa dan N luar
Kami melakukan ini dengan mengemas kini nilai N ke dalam pembolehubah temp dan menggunakan gelung dalam untuk menyemak setiap kedudukan pembolehubah temp dan mengemas kini kedudukan pembolehubah X itu.
Cetak nilai X kerana ia adalah nombor pseudo-binary.
Kami mengemas kini N dengan menolak X daripada N dan memasuki gelung luar sekali lagi sehingga N menjadi 0.
Dalam tutorial ini, kami membincangkan cara untuk mewakili nombor sebagai jumlah terkecil yang mungkin bagi nombor pseudo-perduaan. Kami membincangkan cara untuk mencari semua nombor pseudo-perduaan. Kami juga membincangkan bahawa kod C++ yang sama boleh kami tulis dalam bahasa pengaturcaraan lain seperti C, Java, Python, dll. Semoga tutorial ini membantu anda.
Atas ialah kandungan terperinci Dalam C++, mewakili nombor sebagai jumlah terkecil yang mungkin bagi nombor pseudo-perduaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!