2020年7月16日 星期四

d471-0與1的遊戲

解題思路:
模擬二進位制。
n bits 會有 2^n種可能。
每次都加1,然後從尾到頭檢查是否要進位。

程式碼:
#include <iostream>
#include <cmath>
#include <string>
using namespace std;

int main()
{
    int n;
    while(cin>>n)
    {
        string s;
        for(int i=0;i<n;i++)
            s+="0";
        for(int i=0;i<pow(2,n);i++)
        {
            cout<<s<<endl;
            s[s.size()-1]++;
            for(int j=s.size()-1;j>=0;j--)
            {
                if(s[j]>'1')
                {
                    s[j-1]++;
                    s[j]='0';
                }
            }
        }
    }
    return 0;
}

沒有留言:

張貼留言