/// <summary>
        
/// 主要思路
        
/// 应用了位运算
        
/// </summary>
        public static void FinB()
        {
            
int n = Convert.ToInt32(Console.ReadLine());
            
if(n==0)
            {
                Console.WriteLine(
"N");
                Console.ReadKey();
                
return;
            }
            
if (n != 1)
            {
                
//n和n-1进行与运算,当n为4(二进制100),4-1为3(二进制11)值等于0,值为0时说明当前数值为2的N次方
                Console.WriteLine((n & (n - 1)) == 0 ? (Convert.ToString(n, 2).Length - 1 + "Y") : "N");
            }
            
else
            {
                Console.WriteLine(
"Y");
            }

            Console.ReadKey();
        }

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-02-26
  • 2022-02-13
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-02
猜你喜欢
  • 2021-11-22
  • 2022-12-23
  • 2022-12-23
  • 2022-01-11
  • 2021-07-23
  • 2022-12-23
相关资源
相似解决方案