整体思路:
- 将输入值利用
parseInt()
转化为 10 进制数 - 将 10 进制数利用
toString(n)
转化为字符串类型的 n 进制数,在此题中即toString(2)
,得到字符串类型的 2 进制数 - 将字符串类型的 2 进制数利用
split("")
拆分为数组 - 利用
filter()
方法过滤数组中的 1,使用length
属性获取过滤后的数组的个数
代码如下:
let line = ''
while(line = readline()) {
let count = parseInt(line).toString(2).split("").filter(item =>
Number(item) === 1
).length
print(count)
}