指定された数値 N までのすべての可能な数値をバイナリで配列に生成する高速アルゴリズムが必要です。
e.g N=3
Then the array should be {0,0,0},{0,0,1}.....{1,1,1}
N<=17.
これまでのところ、再帰的な解決策であるこれを試しました。
void print_digits(int n, std::string const& prefix = "") {
if (!n) {
printf("%s,",prefix.c_str());
return;
}
print_digits(n-1, prefix + '0');
print_digits(n-1, prefix + '1');
}
より良いアルゴリズムが必要です。