整体思路:

  1. 将输入值利用parseInt()转化为 10 进制数
  2. 将 10 进制数利用toString(n)转化为字符串类型的 n 进制数,在此题中即toString(2),得到字符串类型的 2 进制数
  3. 将字符串类型的 2 进制数利用split("")拆分为数组
  4. 利用filter()方法过滤数组中的 1,使用length属性获取过滤后的数组的个数

代码如下:

let line = ''
while(line = readline()) {
  let count = parseInt(line).toString(2).split("").filter(item => 
  	Number(item) === 1
  ).length
  print(count)
}