DEC2BIN - Đổi hệ thập phân sang nhị phân

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift

Hệ thập phân (cơ số 10) là hệ cơ số mà con người chúng ta sử dụng hàng ngày trong cuộc sống. Thế nhưng, chiếc máy tính của chúng ta lại chỉ có thể làm việc với hệ nhị phân (cơ số 2).

Ví dụ:

  • ~8_{10} = 1000_{2} = 1*2^3 + 0*2^2 + 0*2^1 + 0*2^0~

Yêu cầu:

Cho một số nguyên dương trong hệ cơ số ~10~, hãy viết số đó trong hệ cơ số ~2~ (hệ nhị phân).

Input

  • Dòng đầu ghi số nguyên dương ~T~ là số bộ test;
  • ~T~ dòng tiếp theo, mỗi dòng chứa một số nguyên dương ~n~ trong hệ thập phân.

Giới hạn:

  • ~1 ≤ T ≤ 10^5, 1 ≤ n ≤ 10^{18}~

Output

  • Với mỗi số nguyên dương ~n~ trong hệ thập phân, in ra trên một dòng xâu nhị phân biểu diễn số đó trong hệ nhị phân (không bắt đầu bởi số ~0~).

Sample

Input #1
3
5
7
10
Output #1
101
111
1010

Problem source: Chuyên Sơn La Online Judge


Bình luận

Please read the guidelines before commenting.



  • 0
    dizionrlxno1  đã bình luận lúc 29, Tháng 4, 2026, 12:07

    nhat tan bi gay


  • -2
    apt2_0227  đã bình luận lúc 27, Tháng 2, 2026, 15:45

    Code python:

    t=int(input())
    for i in range(t):
        n=int(input())
        s=str(bin(n))
        print(s[2:len(s)])
    

  • 0
    stuwithuy  đã bình luận lúc 12, Tháng 2, 2026, 11:22

    Cái test có bị lỗi không vậy sao input là 3 mà out là 101 vậy


  • -2
    52500146  đã bình luận lúc 31, Tháng 12, 2025, 4:13

    ban toi ten duy bi gay


  • 0
    10a3haidang2007  đã bình luận lúc 6, Tháng 12, 2025, 8:31

    include <bits/stdc++.h>

    using namespace std;

    string toBinary(long long n) { if (n == 0) return "0"; // Trường hợp đặc biệt

    string s = "";
    while (n > 0) {
        s += char('0' + (n % 2));
        n /= 2;
    }
    reverse(s.begin(), s.end());
    return s;
    

    }

    int main() { ios::syncwithstdio(false); cin.tie(nullptr);

    int T;
    cin >> T;
    
    while (T--) {
        long long n;
        cin >> n;
        cout << toBinary(n) << "\n";
    }
    return 0;
    

    }


  • -3
    phuctruongtrong  đã bình luận lúc 3, Tháng 6, 2025, 16:14

    co khai bao vectoe hay la khai bao ham nho dung long long dung long long la chang du lieu nha


  • -2
    thien_365  đã bình luận lúc 3, Tháng 3, 2025, 9:23

    gợi ý cho ae : bài này giá trị lớn nên chúng ta dùng string va chú ý thêm trường hợp khi n=0. Dùng vòng lặp chia cho 2, lưu phần dư vào chuỗi. Sau đó, đảo ngược chuỗi


    • -1
      togiabao130314  đã bình luận lúc 22, Tháng 10, 2025, 13:53

      Nhung 1 <= n <= 10^18 ma


    • -2
      Viet_Anh  đã bình luận lúc 11, Tháng 7, 2025, 13:02

      s = char + s;

      ntn thì không cần đảo ngược chuỗi tiết kiệm time nhé


  • -1
    phong2012  đã bình luận lúc 6, Tháng 2, 2025, 4:43

    Đối với python thì dùng hàm bin() sau đó là xóa cái chữ '0x' ở đầu là dc nhé


  • -3
    theguy777_jaboi  đã bình luận lúc 29, Tháng 11, 2024, 12:27

    ~sao bị RTE nhỉ ?~


  • -4
    super_god  đã bình luận lúc 8, Tháng 10, 2024, 2:49

    hello ae


    • 0
      Hendra  đã bình luận lúc 10, Tháng 10, 2024, 14:17

      I see u everywhere


  • -3
    khaipt00001  đã bình luận lúc 25, Tháng 4, 2024, 14:31 sửa 4

    j

       void bitsp(ll n)
       {
      if(n==0) return;
      else
    {
    bitsp((n-n%2)/2);
    
        cout<&lt;n%2;
    }
       }
       void solve()
        {   
       ll n;cin>>n;bitsp(n);cout<&lt;el;
        }
    

  • -2
    XaThanAnhTrang  đã bình luận lúc 9, Tháng 12, 2023, 2:33

    Long long có chứa dc 10 mũ 18 ko mn


    • -3
      datleyt29102005  đã bình luận lúc 14, Tháng 12, 2023, 1:23

      đc bạn ơi


  • -2
    tungkq123  đã bình luận lúc 28, Tháng 11, 2023, 13:58

    ai bt test10 là j ko vậy


  • 0
    ntm_mtn  đã bình luận lúc 21, Tháng 1, 2024, 7:33

    mình ko cần phải đảo lại à bạn? bạn giải thích giúp mình với


    • 0
      hieugiangho2015  đã bình luận lúc 10, Tháng 2, 2024, 14:35

      lúc cộng xâu, bạn ấy s = '0' + s vd: xâu hiện tại là 10 thì s='0'+s là 010, nó khác với s = s+'0'


  • -1
    5kym4rk  đã bình luận lúc 31, Tháng 10, 2023, 10:26

    Đây là bài thi kết thúc thực hành IT1110 Bách Khoa Hà Nội. Và phòng thi của mình(lớp Điện tử viễn thông) chỉ có 1 bạn AC.


    • -1
      nguien_24  đã bình luận lúc 6, Tháng 11, 2023, 17:21

      mình k68 bk nè


      • 0
        5kym4rk  đã bình luận lúc 14, Tháng 11, 2023, 2:42

        hôm đi thi 30' mình viết 1 vòng while vét được 6/10 test.


      • -2
        5kym4rk  đã bình luận lúc 14, Tháng 11, 2023, 2:35

        ac bài này là 10 điểm thực hành đấy em. bộ test của các thầy cô chắc cũng chỉ như thế này thôi.


  • -3
    Hailun  đã bình luận lúc 7, Tháng 9, 2023, 10:15

    cho em hỏi test case 2 là gì vậy ạ


    • -1
      codega  đã bình luận lúc 15, Tháng 10, 2023, 6:45

      bạn xem lại code đã đúng với điều kiện đề bài các số có thể lên đến 10^18 chưa nhé.