码迷,mamicode.com
首页 > 编程语言 > 详细

2的整数次幂 面试算法(一)

时间:2019-10-30 22:28:43      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:import   整数   turn   输出   递归   new   param   方式   题目   

import java.util.Scanner;

public class Pow {
    public static void main(String []args) throws Exception {
        Scanner s = new Scanner(System.in);
        int i = s.nextInt();
        System.out.println(test(i));
    }
    /**
     * 面试算法题目
     * 描述
     * 请使用递归的方式判断一个给定的整数是否为2的整数次幂。
     * 提示:当一个数 n = 2^k (k为非负整数)时,我们说n是2的整数(k)次幂。比如 2、4、8、16都是2的整数次幂,但3、7、14就不是。
     *
     * 输入
     * 一行,一个正整数n
     *
     * 输入约束:
     * 1<=n<=2^31
     *
     * 输出
     * 一行,数字1或0。
     * 如果输入为2的整数次幂,则输出1,否则输出0。
     * @param n
     * @return
     */
    static int test(int n){
        if (n < 1) return 0;
        if(n == 1) return n;
        if(n % 2 > 0) return 0;
        return test(n/2);
    }
}

  

2的整数次幂 面试算法(一)

标签:import   整数   turn   输出   递归   new   param   方式   题目   

原文地址:https://www.cnblogs.com/412013cl/p/11768213.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!