激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java中實現遞歸計算二進制表示中1的個數

java中實現遞歸計算二進制表示中1的個數

2019-12-17 13:20hebedich JAVA教程

這是一個很有意思的問題,是在面試中特別容易被問到的問題之一,解決這個問題第一想法肯定是一位一位的去判斷,是1計數器+1,否則不操作,跳到下一位,十分容易,編程初學者就可以做得到!

借助Java語言,運用遞歸算法計算整數N的二進制表示中1的個數

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*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);
    }
  }
}

來個最簡單的,不過未測試:)

?
1
2
3
4
5
public int a(int i){
    if(i==0||i==1) return i;
    return i%2+a(i/2);
 
}

以上所述就是本文的全部內容了,希望大家能夠喜歡。

延伸 · 閱讀

精彩推薦
  • JAVA教程Java命名規則詳細總結

    Java命名規則詳細總結

    Class名應是首字母大寫的名詞。命名時應該使其簡潔而又具有描述性。異常類的命名,應以Exception結尾。Interface的命名規則與Class相同 ...

    java技術網3802019-10-17
  • JAVA教程jtds1.1連接sqlserver2000測試示例

    jtds1.1連接sqlserver2000測試示例

    這篇文章主要介紹了jtds1.1連接sqlserver2000測試示例,需要的朋友可以參考下 ...

    java技術網3922019-11-10
  • JAVA教程java基于swing實現的五子棋游戲代碼

    java基于swing實現的五子棋游戲代碼

    這篇文章主要介紹了java基于swing實現的五子棋游戲代碼,主要涉及圖形界面與數組的用法,有不錯的參考借鑒價值,需要的朋友可以參考下 ...

    shichen20141222019-12-04
  • JAVA教程java解析xml之sax解析xml示例分享

    java解析xml之sax解析xml示例分享

    SAX基于事件的解析,解析器在一次讀取XML文件中根據讀取的數據產生相應的事件,由應用程序實現相應的事件處理邏輯,即它是一種“推”的解析方式;這...

    java技術網1852019-10-27
  • JAVA教程java解壓zip文件示例

    java解壓zip文件示例

    這篇文章主要介紹了java解壓zip文件示例,在獲得一個以Zip格式壓縮的文件之后,需要將其進行解壓縮,還原成壓縮前的文件,下面是代碼示例 ...

    java教程網2912019-11-12
  • JAVA教程使用jdk7的nio2操作文件拷貝和剪切示例

    使用jdk7的nio2操作文件拷貝和剪切示例

    使用jdk7的NIO2進行文件或文件夾的拷貝移動操作。可以自動創建路徑,差異化更新文件,簡單的出錯重連機制 ...

    java教程網4932019-11-05
  • JAVA教程Java基于swing實現的彈球游戲代碼

    Java基于swing實現的彈球游戲代碼

    這篇文章主要介紹了Java基于swing實現的彈球游戲代碼,包含了窗體界面設計與游戲的邏輯功能處理,具有不錯的參考借鑒價值,需要的朋友可以參考下 ...

    shichen20143042019-12-04
  • JAVA教程詳解Java設計模式——迭代器模式

    詳解Java設計模式——迭代器模式

    這篇文章主要介紹了Java設計模式——迭代器模式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面...

    No_Game_No_Life_1612019-06-22
主站蜘蛛池模板: 精品亚洲一区二区 | 免费一区二区三区 | 欧美成人精品一级 | 欧美高清一级片 | jizzjizz中国人少妇中文 | 日日狠狠久久偷偷四色综合免费 | 干一夜综合 | 日日艹夜夜艹 | 成人在线视频播放 | 91在线色视频 | 日本欧美国产 | 国产一级小视频 | 亚洲欧美日韩在线 | 国产精品国产三级国产在线观看 | 欧洲色阁中文字幕 | 久久精品日产第一区二区三区 | 国产精品爱久久久久久久 | 成人黄色一级电影 | 久久国产精品久久久久久久久久 | 91羞羞| 天天草天天干天天射 | 免费中文视频 | 亚洲电影免费观看国语版 | 欧美a级大胆视频 | 国产一级aa大片毛片 | 国产乱淫av片免费网站 | 黑人日比 | 婷婷亚洲一区二区三区 | 亚洲成a人在线 | 一级黄色毛片播放 | 内地av在线 | 久久国产精品久久久久 | 国产亚洲精品久久久久久久 | 嗯~啊~用力~高h | 亚洲视频在线网 | 国产一区二区国产 | 叶子楣成人爽a毛片免费啪啪 | 91久久精品一区二区 | 国产成人免费高清激情视频 | 亚洲国产一区二区三区 | 欧美成人免费 |