2の累乗の場合は指数の遇奇。
それがいは単なる遇奇。
実験ゲーらしい。
本番中に解けなかった。ツラい。
class TheNumberGameDivOne {
public:
string find(long long n)
{
const string J = "John";
const string B = "Brus";
if (n % 2 == 1) return B;
int p = 0;
bool even = true;
while (1 < n) {
++p;
even = even && (n % 2 == 0);
n /= 2;
}
if (even) return (p % 2) ? B : J;
return J;
}
};