static void Main(string[] args)
{
while (true) {
int data = Convert.ToInt32( Console.ReadLine());
Console.WriteLine(Check2(data));
}
}
static bool Check2(int data) {
//就是只有一句
return (data & (data - 1)) == 0;
}研究发现数的2的乘方的值,都是只有最高位是1,其他都为0
例如:2^1=10,2^2=100,2^3=1000
而-1后对应就是:2^1-1=1,2^2-1=11,2^3-1=111
所以对这两个数进行与操作为0的就是2的乘方数了