码迷,mamicode.com
首页 > 其他好文 > 详细

第一章课后习题1.5

时间:2019-08-27 17:17:50      阅读:44      评论:0      收藏:0      [点我收藏+]

标签:out   question   ring   generated   pre   一个   ==   code   个数   

1.5 编写一种递归方法,它返回数N的二进制中表示1的个数。利用这样一个事实:N为奇数,其1的个数为N/2的二进制中1的个数加1.

package com.algorithm.chapterone;

/**
 * 编写一种递归方法,它返回数N的二进制中表示1的个数。利用这样一个事实:N为奇数,其1的个数为N/2的二进制中1的个数加1.
 * @author Gao·Rongzheng
 *
 */
public class QuestionFour {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println(getBinary(11));
    }
    
    public static int getBinary(int n) {
        //※ 递归方法的基准
        if (n == 0) {
            return 0;
        } else if (n%2 != 0) {
            return getBinary(n >> 1) + 1;
        } else {
            return getBinary(n >> 1);
        }
    }
}

 

第一章课后习题1.5

标签:out   question   ring   generated   pre   一个   ==   code   个数   

原文地址:https://www.cnblogs.com/code-future/p/11419172.html

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