模擬二進位制。
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; }
沒有留言:
張貼留言