Add description and solution in C++ of gray code problem