首页 > 试题广场 >

求int型正整数在内存中存储时1的个数

[编程题]求int型正整数在内存中存储时1的个数
  • 热度指数:383969 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入一个 int 型的正整数,计算出该 int 型数据在内存中存储时 1 的个数。

数据范围:保证在 32 位整型数字范围内

输入描述:

 输入一个整数(int类型)



输出描述:

 这个数转换成2进制后,输出1的个数

示例1

输入

5

输出

2
示例2

输入

0

输出

0
const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
rl.on('line', function (line) {
    let num = Number(line)
    let sum = 0
    while (num > 0) {
        sum += num % 2
        num = Math.floor(num / 2)
    }
    console.log(sum)
});


编辑于 2024-02-04 10:39:20 回复(0)
const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
let res = 0
rl.on('line', function (line) {
    const res = parseInt(line).toString(2).split('').filter(v=>parseInt(v)===1).length;
    console.log(res);
});
发表于 2023-10-15 03:22:15 回复(0)
const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
rl.on('line', function (line) {
    if(typeof line== 'string'){
        line=Number(line)
    }
    let str:string=''
    str=line.toString(2) 
//十进制转二进制用number.toString(2),二进制转十进制用parseInt(string,2),因为parseInt()解析一个字符串并返回指定基数的十制整数
    let num:number=0
    let arr:Array<string|number>=[]
    arr= str.split('')
    for(let i=0;i<arr.length;i++){
        if(arr[i]==1){
            num++
        }
    }
    console.log(num)
});

发表于 2023-10-14 21:44:37 回复(0)
  • const readline = require("readline");
    
    const rl = readline.createInterface({
        input: process.stdin,
        output: process.stdout,
    });
    rl.on("line", function (line) {
        console.log((+line).toString(2).split("").filter(item => +item).length);
    });
    


发表于 2023-05-28 21:44:02 回复(0)
const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
rl.on('line', function (line: string) {
    console.log(Number(line).toString(2).split('1').length - 1)
});
发表于 2023-04-16 15:54:14 回复(0)

问题信息

难度:
6条回答 98846浏览

热门推荐

通过挑战的用户

查看代码