小编Aad*_*kar的帖子

我编写了这个程序来查找给定输入是否为2的幂,该程序没有运行非常大的数字,例如10 ^ 18左右.我该怎么办

这是一个程序,用于检查输入是否为2的幂.这个程序运行正常,输入最多8位数但是当我输入10 18这样的输入时,它不起作用,我该怎么办?

import java.util.Scanner;
    public class search {
        public static void main(String [] args){
            //to take how many inputs are there
            Scanner sc = new Scanner(System.in);
            int k ;
            k = sc.nextInt();
            for(int i = 0 ;i<k;i++){
            // input number n
            long  n ;


            n = sc.nextInt();

            if ((n > 0) && ((n & (n - 1)) == 0)){
                System.out.println("YES");
            }
            else{
                System.out.println("NO");
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java int

4
推荐指数
1
解决办法
103
查看次数

标签 统计

int ×1

java ×1