Solutions of Decimal to binary - MarisaOJ: Marisa Online Judge

Solutions of Decimal to binary

Select solution language

Write solution here.


___hazelh    Created at    0 likes

***THẬP PHÂN SANG NHỊ PHÂN*** **Giải thích các biến:** * $n$ là một số nguyên trong hệ thập phân. * $t$ là chuỗi biểu diễn số trong hệ nhị phân. * $sodu$ là chuỗi chứa hai ký tự '$0$' và '$1$', đại diện cho các số dư có thể có khi chia $n$ cho 2. **Ý tưởng chuyển đổi hệ thập phân sang hệ nhị phân:** Dựa trên đặc điểm của hệ nhị phân, các số chỉ có thể có số dư là $0$ hoặc $1$ khi chia cho 2. Do đó: * Ta sẽ tạo một string $sodu$, trong đó phần tử tại chỉ số $0$ tương ứng với số dư $0$ và phần tử tại chỉ số $1$ tương ứng với số dư $1$. * Bằng cách duyệt qua từng số dư của $n$ khi chia liên tiếp cho 2, ta lần lượt ghép các ký tự '$0$' hoặc '$1$' vào chuỗi $t$ từ phải sang trái. **Đoạn mã chuyển đổi:** ```cpp #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; // Nhập số nguyên thập phân string t, sodu = "01"; // Khởi tạo chuỗi nhị phân và chuỗi số dư while (n > 0) { t = sodu[n % 2] + t; // Lấy số dư và thêm vào chuỗi kết quả n /= 2; // Giảm giá trị của n bằng cách chia cho 2 } cout << t; // In kết quả chuỗi nhị phân return 0; } ```