最近在学习微软推出的虚拟课程中关于网络上最火的20个关于c#的问题,写下关于对于这个问题的个人理解和解决思路,请各位看官笑纳.

题目为:(原)判断一个数字是否2的幂数?

 

这是我个人还没看正确答案前自己的解决思路(一个小控制台程序),代码如下:

  static void Main(string[] args)
        {
            for (int increment = 0; increment < 100000; increment++)
            {
                if (IsPower(increment))
                {
                    Console.WriteLine(increment);
                }
            }
            Console.ReadKey();
        }
   
        private static bool IsPower(int number)
        {
            bool result = false;
            if (number <= 0 || number % 2 == 1) return false;

            if (number / 2 > 1)
            {
                result = IsPower(number / 2);
            }
            else
            {
                result = number % 2 == 0;
            }
            return result;
        }
View Code

相关文章: