zoukankan      html  css  js  c++  java
  • 2的幂次

     1 package algorithm;
     2 
     3 /**
     4  * Created by moi on 2017/10/18.
     5  */
     6 public class PowerOf2 {
     7 
     8     public static int powOf2(int n){
     9         if(n==0){
    10             return 1;
    11         }
    12         if(n>31){
    13             throw new RuntimeException("n>31 is too big.");
    14         }
    15         int base = 2;
    16         while(n>1){
    17             base = base << 1;
    18             System.out.println(base);
    19             n--;
    20         }
    21         return base;
    22     }
    23 
    24     public static boolean checkPowerOf2(int n) {
    25         // write your code here
    26         boolean flag = true ;
    27 
    28         if ( n < 1 ){
    29             return false;
    30         }
    31 
    32         while( n>= 2 ){
    33             // 1的二进制是 最低位为1,其余各位为0,所以这里 n & 1 即n的最低位和 1的最低位1 进行与,如果是偶数,结果就是0,奇数就是1.
    34             if ( (n & 1) == 1 ){
    35                 flag = false ;
    36                 break;
    37             }
    38             n = n >> 1 ;
    39         }
    40         return flag ;
    41     }
    42 
    43     public static void main(String[] args) {
    44         PowerOf2.powOf2(3);
    45     }
    46 }
  • 相关阅读:
    使用RF(robotframework)要安装哪些库
    MYSQL题目练习专用
    MySQL字段拼接
    WPF样式
    WPF数据模板
    WPF控件模板
    WPF布局
    面向对象程序设计原则
    设计模式之策略模式
    设计模式之简单工厂模式
  • 原文地址:https://www.cnblogs.com/parkin/p/7689669.html
Copyright © 2011-2022 走看看