算法很美

是不是2的整数次方

2019-12-13  本文已影响0人  FiveZM
/*
    用一条语句判断一个整数是不是2的整数次方
    这题的普通思路是,将这个数一直模以2,再除以2
    还要判断一个特殊的数字1,因为1是2的0次方
    但是有另一个一个方法就是,用二进制来计算
    其实要看是不是2的整数次方,其实就看二进制中是否只有一个1,
    如果只有一个1的话,那就证明是2的整数次方
    2的0次方为1, 2的1次方为2 , 2的2次方为4

    算法: 通过 n-1 后再与运算 n 得出为0 ,即结果是2的整数次方
 */
import java.util.Scanner;

public class 是不是2的整数次方 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        if (((n - 1) & n) == 0)
            System.out.println(true);
        else
            System.out.println(false);
    }
}

上一篇 下一篇

猜你喜欢

热点阅读