最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java中實(shí)現(xiàn)遞歸計(jì)算二進(jìn)制表示中1的個(gè)數(shù)

 更新時(shí)間:2015年05月05日 11:16:32   投稿:hebedich  
這是一個(gè)很有意思的問題,是在面試中特別容易被問到的問題之一,解決這個(gè)問題第一想法肯定是一位一位的去判斷,是1計(jì)數(shù)器+1,否則不操作,跳到下一位,十分容易,編程初學(xué)者就可以做得到!

借助Java語言,運(yùn)用遞歸算法計(jì)算整數(shù)N的二進(jìn)制表示中1的個(gè)數(shù)

/*use the recursive algorithme to calculate 
 * the number of "1" in the binary expression
 * of an Integer N.
 * Note:if N is an odd, then
 * the result is the result of N/2 plus 1.
 * And the program use the bit operation to
 * improve efficency ,though it's seemingly
 * not necessary ,but the idea I think is good.
 * The program is writed by Zewang Zhang ,at
 * 2015-5-4,in SYSU dorms.
 */
 
public class CalculateNumberInBinaryExpression {
  //Main method.
  public static void main(String[] args) {
     
    //For example ,make N equals 13 ,the result shows 3
    System.out.println(numOfEven(13));
     
    //For example ,make N equals 128 ,the result shows 1
    System.out.println(numOfEven(128));
  }
   
  //The static method of numOfEven is the recursive method.
  public static int numOfEven(int x) {
     
    //The base of recursive.
    if(x==0) {
      return 0;
    }
     
    //If x is an odd.
    else if(x%2!=0) {
      return numOfEven(x>>1)+1;
    }
     
    //If x is an even except 0.
    else {
      while(x%2==0) {
        x=(x>>1);
      }
      return numOfEven(x);
    }
  }
}

來個(gè)最簡(jiǎn)單的,不過未測(cè)試:)

public int a(int i){
    if(i==0||i==1) return i;
    return i%2+a(i/2);

}

以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。

相關(guān)文章

  • eclipse下整合springboot和mybatis的方法步驟

    eclipse下整合springboot和mybatis的方法步驟

    這篇文章主要介紹了eclipse下整合springboot和mybatis的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • SpringBoot集成Druid的實(shí)例代碼

    SpringBoot集成Druid的實(shí)例代碼

    這篇文章主要介紹了SpringBoot集成Druid的實(shí)例代碼,有依賴和配置相關(guān)內(nèi)容,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • ssm 使用token校驗(yàn)登錄的實(shí)現(xiàn)

    ssm 使用token校驗(yàn)登錄的實(shí)現(xiàn)

    這篇文章主要介紹了ssm 使用token校驗(yàn)登錄的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • java使用正則表達(dá)校驗(yàn)手機(jī)號(hào)碼示例(手機(jī)號(hào)碼正則)

    java使用正則表達(dá)校驗(yàn)手機(jī)號(hào)碼示例(手機(jī)號(hào)碼正則)

    這篇文章主要介紹了java使用正則表達(dá)校驗(yàn)手機(jī)號(hào)碼示例,可校驗(yàn)三個(gè)號(hào)碼段:13*、15*、18*,大家根據(jù)自己的需要增加自己的號(hào)碼段就可以了
    2014-03-03
  • java 如何在list中刪除我指定的對(duì)象

    java 如何在list中刪除我指定的對(duì)象

    這篇文章主要介紹了java 如何在list中刪除我指定的對(duì)象,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java String類正則操作示例

    Java String類正則操作示例

    這篇文章主要介紹了Java String類正則操作,結(jié)合實(shí)例形式分析了java針對(duì)數(shù)字的正則驗(yàn)證、過濾及郵箱正則驗(yàn)證相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • SpringBoot3整合SpringDoc實(shí)現(xiàn)在線接口文檔的詳細(xì)過程

    SpringBoot3整合SpringDoc實(shí)現(xiàn)在線接口文檔的詳細(xì)過程

    這篇文章主要介紹了SpringBoot3整合SpringDoc實(shí)現(xiàn)在線接口文檔的詳細(xì)過程,本文通過示例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • Java靜態(tài)方法不能調(diào)用非靜態(tài)成員的原因分析

    Java靜態(tài)方法不能調(diào)用非靜態(tài)成員的原因分析

    在Java中,靜態(tài)方法是屬于類的方法,而不是屬于對(duì)象的方法,它可以通過類名直接調(diào)用,無需創(chuàng)建對(duì)象實(shí)例,非靜態(tài)成員指的是類的實(shí)例變量和實(shí)例方法,它們需要通過對(duì)象實(shí)例才能訪問和調(diào)用,本文小編將和大家一起探討Java靜態(tài)方法為什么不能調(diào)用非靜態(tài)成員
    2023-10-10
  • spring項(xiàng)目中切面及AOP的使用方法

    spring項(xiàng)目中切面及AOP的使用方法

    我們知道,spring兩大核心,IOC(控制反轉(zhuǎn))和AOP(切面),那為什么要使用AOP,AOP是什么呢?帶著這些問題通過本文學(xué)習(xí)下吧
    2021-06-06
  • Springboot啟動(dòng)原理和自動(dòng)配置原理解析

    Springboot啟動(dòng)原理和自動(dòng)配置原理解析

    這篇文章主要介紹了Springboot啟動(dòng)原理和自動(dòng)配置原理解析,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04

最新評(píng)論

蕲春县| 错那县| 巴南区| 密云县| 师宗县| 台北市| 湖南省| 扎鲁特旗| 彝良县| 达拉特旗| 印江| 康保县| 若尔盖县| 娱乐| 梁河县| 比如县| 盐城市| 镇雄县| 彭阳县| 密云县| 自贡市| 琼海市| 渭源县| 尤溪县| 京山县| 和林格尔县| 桐庐县| 宁国市| 烟台市| 平凉市| 化隆| 齐齐哈尔市| 洪湖市| 湘乡市| 汾阳市| 彰化市| 监利县| 屯门区| 宁安市| 射洪县| 岳普湖县|