iT邦幫忙

2022 iThome 鐵人賽

DAY 29
0

將十進制整數轉成二進制後所有的1加總
Example:
十進制:1234
二進制:10011010010
Bit Counting:5
https://ithelp.ithome.com.tw/upload/images/20220929/20151917n6QDGv3f6D.png

解題想法:
使用迴圈當n%2!=0則+1
又不知迴圈執行次數故採while

public class BitCounting {

  public static int countBits(int n){
    // Show me the code!
    int result=0;
    while(n>0){
      if(n%2==0){
        n=n/2;
      }else{
       result+=1;
       n=n/2;
      }
    }
    return result;
  }
}

特別的寫法,利用Java的Integer.bitCount()方法

public class BitCounting {

  public static int countBits(int n){
    
    return Integer.bitCount(n);
  }
  
}

上一篇
Call by value|Call by reference
下一篇
Codewars|Convert string to camel case
系列文
寫寫歷年職場經歷過的大小事或近期所學習的知識啟發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言