Sinh nhị phân

Xem PDF

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 977M Input: bàn phím Output: màn hình

Sinh xâu nhị phân độ dài \(n\).

Yêu cầu: Cho \(n\) hẫy in tất cả các xâu nhị phân theo thứ tự từ điển.

Input

  • Số nguyên dương \(n (n \leq 12)\).

Output

  • Tất cả các xâu nhị phân theo thứ tự từ điển.

Example

Test 1

Input
3 
Output
000
001
010
011
100
101
110
111

Bình luận

  • thanhnam2k10 8:54 a.m. 10 Tháng 2, 2025
    #include <bits/stdc++.h>
    #define ll long long
    using namespace std;
    string kt(ll n,ll x){
        string s;
        while(n>0){
            s=char(n%2+48)+s;
            n/=2;
        }
        while(s.size()<x)s='0'+s;
        return s;
    }
    int main(){
        ios_base::sync_with_stdio(0);
        cin.tie(0);cout.tie(0);
        ll n;
        cin>>n;
        for(ll i=0;i<pow(2,n);i++)
            cout<<kt(i,n)<<"\n";
        return 0;
    }
    
    • mues115 8:53 a.m. 10 Tháng 2, 2025 chỉnh sửa 40

      bla bum bum

      • penistone 8:58 p.m. 9 Tháng 11, 2023

        Đây là bài toán sinh nhị phân cơ bản, sử dụng đệ quy là accepted
        Code mẫu:

        #include<bits/stdc++.h>
        using namespace std;
        #define int long long
        int x[20],n;
        void inkq()
        {
            for(int i=1; i<=n; i++) cout<<x[i]; cout<<endl;
        }
        void generate(int i)
        {
            for (int j=0; j<=1; j++)
            {
                x[i]=j;
                if (i==n) inkq();
                else generate(i+1);
            }
        }
        signed main()
        {
            cin>>n;
            generate(1);
        }
        

        • phongduongLOL 12:44 p.m. 5 Tháng 11, 2023

          Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.