RosettaCodeData/Task/Gray-code/D/gray-code-3.d

12 lines
253 B
D

import std.stdio, std.algorithm, std.range;
string[] g(in uint n) /*pure nothrow*/ {
return n ? g(n - 1).map!q{'0' ~ a}().array() ~
g(n - 1).retro().map!q{'1' ~ a}().array()
: [""];
}
void main() {
writeln(g(4));
}